最佳做法-匿名卷与绑定挂载
在一个容器里
可以创建匿名卷
在语法(VOLUME /build
)中Dockerfile
要么
volumes
具有/build
输入的以下语法
cache: build: ../../
dockerfile: docker/dev/Dockerfile
volumes:
- /tmp/cache:/cache
- /build
entrypoint: "true"
我的理解是,/build
在容器进入Exited
状态后,两种方法都可以使音量也可用。
卷是匿名的,因为/build
指向/var/lib/docker/volumes
Docker主机中某个随机的新位置(目录中)
我看到匿名卷比命名卷(如/tmp/cache:/cache
)更安全。
因为/tmp/cache
位置很容易受到攻击,因为该位置被多个Docker容器使用的可能性更大。
1)
为什么不鼓励匿名使用卷?
2)
是
VOLUME /build
在 Dockerfile
与…不同
volumes: - /build
在docker-compose.yml
文件中?是否有一种情况,我们需要同时提及两者?
回答:
实际上,鼓励/build
使用匿名卷()而不是使用绑定装载():/tmp/cache:/cache
与绑定安装相比,卷具有几个优点:
- 与绑定安装相比,卷更易于备份或迁移。
- 您可以使用Docker CLI命令或Docker API管理卷。
- 卷在Linux和Windows容器上均可工作。
- 可以在多个容器之间更安全地共享卷。
- 卷驱动程序使您可以将卷存储在远程主机或云提供商上,以加密卷内容或添加其他功能。
- 新卷的内容可以由容器预先填充。
关于第二个问题,是的。您可以在docker-compose文件或Dockerfile中创建匿名卷。无需在两个地方都指定。
以上是 最佳做法-匿名卷与绑定挂载 的全部内容, 来源链接: utcz.com/qa/399263.html