我正在使用dockerfile中指定的docker卷,以便我的数据可以在主机上保留。 dockerfile看起来像这样:
FROM base-image
VOLUME /path/to/something
RUN do_stuff
....
当我运行容器时,它会创建一个卷(称之为 VolumeA ),当我执行docker volume ls
时,我可以看到它。
如果我停止并移除容器, VolumeA 会按预期方式粘贴。
我的问题是,如果我运行新版本的容器,有没有办法使用 VolumeA 而不是让它创建一个新版本?
答案 0 :(得分:2)
我更喜欢使用命名卷,因为您可以轻松地将它们安装到新容器中。
但对于未命名的音量,我:
在docker volume commands之前,I used to do that与a script:updateDataContainerPath.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/