简年8:Docker 容器数据卷挂载小结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简年8:Docker 容器数据卷挂载小结相关的知识,希望对你有一定的参考价值。

参考技术A 首先是当本地不存在该文件,而容器内存在该文件的情况,尝试把不存在的文件挂载到存在该文件的容器中。以一个 Alpine 镜像为例,这里把一个修改后的 Alpine 镜像打了新标签,叫做 volume_test:

然后是把本地不存在的文件夹挂载到容器内存在的文件夹,在 volume_test 镜像中存在一个 /srv 的文件夹,文件夹里面有一个 index.php 文件。

上面两个例子已经告诉我们,数据卷的挂载是通过把本地的目录覆盖到容器中的。也就是说,当宿主机文件不存在时,不能挂载;当文件夹不存在时,挂载到容器会用一个空文件夹覆盖容器原有目录。

我们继续,假设宿主机存在文件,容器内不存在该文件:

接下来是宿主机存在文件夹,容器不存在该文件夹,宿主机的 test 文件夹里面存在一个 hello 文件:

上面两个例子说明了,容器内部如果不存在文件,宿主机直接挂载。

接下来假设宿主机存在 test 文件夹,而容器内部存在的是名为 test 文件,这样挂载会怎样呢?

上面的情况不出意外是启动错误。

那么假设宿主机是文件夹,容器也是文件夹,两个文件夹里面内容不一样,宿主机内部有一个 hello 文件,容器的文件夹里面有一个 index.php :

假设宿主机有一个 test.txt 文件,里面写着 Hello World,而容器里面也存在一个 test.txt 文件,里面写着 Hi World,现在挂载文件:

最后一种情况,宿主机存在文件 test.txt,而容器内部存在一个 test 的文件夹,现在把 文件挂载到文件夹中:

小结:

以上是关于简年8:Docker 容器数据卷挂载小结的主要内容,如果未能解决你的问题,请参考以下文章

Docker学习笔记(8-2)Docker - 数据卷容器

Docker的基本操作——数据卷操作

06-Docker-容器数据卷

Docker 容器数据卷(挂载)

docker 8 section

linux12 - docker容器05 --> 数据卷挂载实战MySQL同步数据