我正在运行一个docker容器,必须将两个目录挂载到docker容器。一个用于数据,另一个用于库。让我们将主机上的数据目录命名为A,将主机上的库目录命名为B,将容器上的数据目录命名为A',将容器上的库目录命名为B'。
请注意,A'位于/ opt之下,B'位于/ usr之下。 A和B都是空文件夹。
当我用-v标签挂载它们时,会发生一些奇怪的事情。 B'完全被B覆盖。换句话说,它变成了一个空文件夹。其中的所有初始文件都是隐藏的。但是,我可以在主机目录A中看到来自A'的文件。看起来A和A'彼此共享数据但B'只是被B覆盖。
这是什么原因?
更新1:这是我使用的命令
sudo docker run --name geoservertest -d -p 8085:8080 -v /home/zhangj/geoserver_data:/opt/geoserver/data_dir -v /home/zhangj/geoserver_lib:/usr/local/tomcat/webapps/geoserver/WEB-INF/lib gistic/geoserver
在代码中,geoserver_data为A,data_dir为A',geoserver_lib为B,lib为B'。