将docker bind-mount移动到卷

时间:2018-04-17 21:49:16

标签: docker volumes

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

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

阅读完文档后,我发现了完全由docker管理的卷。出于某些原因,我想改变运行我的容器的方式,做这样的事情:

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

我想将现有的bind-mount传输到卷。

但我不想将数据丢失到/nexus-data文件夹中,是否有可能将此文件夹转移到新卷,whitout重启所有内容?因为我还有Jenkins和Sonar容器,我只想改变拥有持久数据的方式。这是一个正确的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下步骤,这样就不会丢失当前的nexus数据。

#>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文件夹,这是您安装的卷。

如果您在执行以下步骤时遇到任何问题,请与我们联系。