实际上,我这样运行我的容器,例如:

docker run -v /nexus-data:/nexus-data sonatype/nexus3
              ^

阅读文档后,我发现完全由docker管理的卷。由于某些原因,我想更改运行容器的方式,执行以下操作:
docker run -v nexus-data:/nexus-data sonatype/nexus3
              ^

我想将现有的绑定(bind)安装转移到卷上。

但是我不想将数据丢失到/nexus-data文件夹中,是否有可能将该文件夹转移到新卷中,从而重新启动所有内容?例如,因为我也有Jenkins和Sonar容器,所以我只想更改具有持久数据的方式。这是执行此操作的正确方法吗?

最佳答案

您可以尝试执行以下步骤,以免丢失当前的联系数据。

#>docker run -v nexus-data:/nexus-data sonatype/nexus3
#>docker copy /nexus-data/. <container-name-or-id>:/nexus-data/
#>docker stop <container-name-or-id>
#>docker start <container-name-or-id>
docker copy会将数据从主机的/nexus-data文件夹复制到容器的FS/nexus-data文件夹(即已安装的卷)。
让我知道您在执行以下步骤时是否遇到任何问题。

关于docker - 将docker bind-mount移动到卷,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49888014/

10-16 00:44