Docker &引用;绑定挂载赢得';t与命名卷不同,将容器内容自动复制到主机";
需要澄清评论: 绑定挂载的唯一“问题”是它不会复制 与命名卷不同,容器内容会自动发送到主机。 docs.docker.com/compose/compose file/#volumes 这准确吗?如果是,则:Docker &引用;绑定挂载赢得';t与命名卷不同,将容器内容自动复制到主机";,docker,volume,mount,Docker,Volume,Mount,需要澄清评论: 绑定挂载的唯一“问题”是它不会复制 与命名卷不同,容器内容会自动发送到主机。 docs.docker.com/compose/compose file/#volumes 这准确吗?如果是,则: 当使用绑定装载时,如何将容器的“新数据”(例如,不断增长的数据库)放入主机(以在容器重新启动时保存数据) 在有命名卷之前,Docker如何跨容器重启持久化数据 绑定挂载的唯一“问题”是它不会复制 与命名卷不同,容器内容会自动发送到主机 这准确吗 接近准确,但我可以看到混乱。主机卷(也称为绑
绑定装载时,如何将容器的“新数据”(例如,不断增长的数据库)放入主机(以在容器重新启动时保存数据)
命名卷之前,Docker如何跨容器重启持久化数据
docker rm
命令删除这些文件系统更改,以及容器日志和容器的元数据/配置
特定于容器的更改是docker使用的覆盖文件系统的读/写顶层。卷装载都是单独装载到此覆盖文件系统的子目录中(就像/home
或/var
通常是Linux主机的/
文件系统中单独的文件系统装载一样,对这些其他路径的所有读写都会转到单独的底层文件系统)
绑定挂载的唯一“问题”是它不会复制
与命名卷不同,容器内容会自动发送到主机
这准确吗
接近准确,但我可以看到混乱。主机卷(也称为绑定装载)没有docker提供的初始化功能。对于匿名卷和命名卷,docker将使用该路径上的映像内容初始化卷。此初始化包括所有权和权限,这有助于避免权限错误。此初始化仅在创建容器且卷为新卷或空卷时运行,因此后续容器将不会拾取在较新映像版本中对映像所做的更改
如果是,则:
docker rm
命令删除这些文件系统更改,以及容器日志和容器的元数据/配置
特定于容器的更改是docker使用的覆盖文件系统的读/写顶层。卷装载都是单独装载到此覆盖文件系统的子目录中(就像
/home
或/var
通常是Linux主机的/
文件系统中单独的文件系统装载一样,对这些其他路径的所有读写都会转到单独的底层文件系统).如果要将卷装入容器,并且希望该卷可靠地包含映像中的某些内容,则需要在容器启动时手动将其复制到该容器中。一种方法是使用入口点包装脚本:
#/垃圾箱/垃圾箱
#将数据复制到可能装入的位置
cp-a/app/static/var/www
#然后运行图像的CMD
执行官“$@”
您应该将其包含在图像的Dockerfile中
#必须使用JSON数组语法
入口点[“/app/ENTRYPOINT.sh”]
和以前一样
关于Docker命名卷的初始化行为,这里有两个重要的细节需要注意。首先,您注意到,Docker只将内容复制到Docker命名卷的卷中;绑定挂载不会发生这种情况,在Kubernetes等其他环境中也不会发生这种情况
第二个更微妙的细节是,初始化只在容器第一次运行时发生。如果已经有了