重新连接孤儿码头卷

时间:2016-05-12 20:19:48

标签: docker dockerfile

我正在使用dockerfile中指定的docker卷,以便我的数据可以在主机上保留。 dockerfile看起来像这样:

FROM base-image
VOLUME /path/to/something
RUN do_stuff
....

当我运行容器时,它会创建一个卷(称之为 VolumeA ),当我执行docker volume ls时,我可以看到它。

如果我停止并移除容器, VolumeA 会按预期方式粘贴。

我的问题是,如果我运行新版本的容器,有没有办法使用 VolumeA 而不是让它创建一个新版本?

2 个答案:

答案 0 :(得分:2)

我更喜欢使用命名卷,因为您可以轻松地将它们安装到新容器中。

但对于未命名的音量,我:

  • 运行我的容器(VOLUME指令使它为新路径创建一个新卷,通过检查它可以获得)
  • 将旧卷的路径移动到新路径。

docker volume commands之前,I used to do thata scriptupdateDataContainerPath.sh

但是,现在,我的图像中没有一个writer:我创建了单独命名的卷(docker volume create),并在运行时将它们挂载到容器(VOLUME

答案 1 :(得分:0)

您可以使用-v命令中的docker run标志将现有卷绑定到新的docker容器

docker run -v VolumeA:/path/to/something [image]

另请查看--volumes-from标志以安装由其他容器使用或创建的卷。

https://docs.docker.com/engine/reference/commandline/run/ https://docs.docker.com/engine/reference/commandline/volume_create/