陈悦
|
这个问题困扰了我几天,特此来论坛寻求答案,万分感谢!
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:22:59
陈悦 最后编辑, 2022-05-06 16:25:27