docker 非持久化存储 tmpfs mounts
- 简介
- tmpfs mounts 限制
- --tmpfs 和 --mount 之间的差异
- 在容器中使用 tmpfs mounts
- 指定 tmpfs 选项
简介
官方文档:https://docs.docker.com/storage/tmpfs/
- 与
volume和bind mounts不同,tmpfs mounts是临时的,并且仅持久化在主机内存中。当容器停止时,tmpfs mounts将被删除,写入其中的文件将不会持久化。 - 对于临时存储不希望持久存在主机或容器可写层中的敏感文件非常有用。

tmpfs mounts 限制
tmpfs mounts在容器之间不可以共享。- 在Linux上运行Docker时,此功能才可用。
–tmpfs 和 --mount 之间的差异
--tmpfs不允许指定任何可配置的选项。--tmpfs不能与 swarm 服务一起使用。必须使用--mount。
在容器中使用 tmpfs mounts
- 创建
--mountdocker run -d \ -it \ --name tmptest \ --mount type=tmpfs,destination=/app \ nginx:latest--tmpfsdocker run -d \ -it \ --name tmptest \ --tmpfs /app \ nginx:latest
- 查看详情
docker inspect tmptest --format ''docker inspect tmptest --format '' [{"Type":"tmpfs","Source":"","Destination":"/app","Mode":"","RW":true,"Propagation":""}]
指定 tmpfs 选项
tmpfs mounts允许两个配置选项,这两个选项都不是必需的。如果需要指定这些选项,则必须使用--mount,因为--tmpfs不支持这些选项。
| 选项 | 描述 |
|---|---|
| tmpfs-size | tmpfs mount 的大小(以字节为单位)。默认情况下不受限制。 |
| tmpfs-mode | 八进制 tmpfs 的文件模式。例如,700或0770。默认值为1777或全局可写。 |
- 以下示例将
tmpfs-mode设置为1770,因此它在容器中不具有 world-readable。docker run -d \ -it \ --name tmptest \ --mount type=tmpfs,destination=/app,tmpfs-mode=1770 \ nginx:latest


















