关于Docker路径挂载的问题
2022-05-06 16:22:59
陈悦
  • 访问次数: 5
  • 注册日期: 2022-05-06
  • 最后登录: 2022-08-14

这个问题困扰了我几天,特此来论坛寻求答案,万分感谢!


Dockefile如下:


                      FROM java:
                      8 
                      MAINTAINER hello
                      <test@
                      163.com
                      >
                       COPY *.jar 
                      /usr
                      /local
                      /java
                      /app.jar 

当前目录信息如下:

Dockerfile app.jar

构建镜像命令如下:

docker build 
                      -t app-image .

执行容器命令如下:

docker run -it --name app -v /usr/local/docker/test:/usr/local/java app-image


最后发现,宿主机路径/usr/local/docker/test这个被创建了,是空目录,而容器路径/usr/local/java已经为空了。

我查阅过关于docker挂载卷的数据覆盖分析,说到以下两点:

1.宿主机目录为空时,将容器内数据复制到宿主机目录下。

2.宿主机目录不为空时,将宿主机目录下的数据复制到容器内,如果容器内目录不为空则将数据隐藏。


那么这里应该是符合第一点才对,但是容器内数据却清空了,百思不得其解。


使用其他方式挂载却不会,我想弄清楚为什么会出现这样的情况。

望大佬解惑,感谢!



陈悦 最后编辑, 2022-05-06 16:25:27