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
- 创建
--mount
docker run -d \ -it \ --name tmptest \ --mount type=tmpfs,destination=/app \ nginx:latest
--tmpfs
docker 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