[英]Docker image mounting the existing data volume for nexus
我在一个卷上有来自当前版本(3.3.1)的数据,我希望数据显示在新的关系中。 当我尝试在 docker 运行命令和 go 下连接到 nexus 时,没有显示新的存储库,但旧存储库的数据在那里。
docker run -d -p 8081:8081 --name nexus -v <local-docker-volume>:/nexus-data newimage
我用来创建图像的 Dockerfile
FROM sonatype/nexus3:3.17.0
COPY path-to-bak-files/*.bak /nexus-data/restore-from-backup/
知道我做错了什么吗?
ps:如果我不清楚,请告诉我。
根据您的 dockerfile 您正在将内容复制到/nexus-data/restore-from-backup/
但是在运行容器时,您将现有卷安装在/nexus-data
上,这最终掩盖了文件系统上的/nexus-data
目录在容器内(在创建图像时添加数据的地方)。
挂载操作中需要注意的重要一点是,如果您在文件系统 (FS) 的现有目录上挂载另一个磁盘/共享(在本例中为卷),则无法再从 FS 访问该目录。 因此,当您创建 docker 映像时,您向 /nexus-data/restore-from-backup/ 添加了一些文件,但是当您在 /nexus-data 上安装卷时,您将其安装在 FS 中的 dir 上,因此您看不到文件现在从你的FS。
要解决此问题,您可以执行以下操作:
location1
location1
复制到/nexus-data/restore-from-backup/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.