动态更改docker卷

动态更改docker卷,docker,Docker,基本上,我有一个需要频繁重建的容器,一个非常稳定并且很少改变的容器。第二个容器需要第一个容器中的文件夹 有没有办法使用卷完成以下任务 正在使用卷创建容器: # docker run -d -v /test-vol --name one ubuntu:14.04 cat 基于第一个容器创建第二个容器和卷: # docker run -d --volumes-from one --name two ubuntu:14.04 cat 现在我停止第一个容器,构建它的新版本 这里的问题是:我需要某种魔

基本上,我有一个需要频繁重建的容器,一个非常稳定并且很少改变的容器。第二个容器需要第一个容器中的文件夹

有没有办法使用卷完成以下任务

正在使用卷创建容器:

# docker run -d -v /test-vol --name one ubuntu:14.04 cat
基于第一个容器创建第二个容器和卷:

# docker run -d --volumes-from one --name two ubuntu:14.04 cat
现在我停止第一个容器,构建它的新版本

这里的问题是:我需要某种魔法来启动它,使第二个容器开始看到新版本的volume/test-vol

从docker inspect的角度来看

"VolumesFrom": [
    "one"
]
所以我想我可以用相同的名称创建新的容器,但后来我看到了

"Volumes": {
    "/test-vol": "/var/lib/docker/vfs/dir/[id]"
},

它显式链接到旧卷。

最简单的解决方案是专用第三个容器作为数据卷容器,该容器可以是:

每次重建都由第一个安装 由第二个也安装
数据卷容器可以由其他几个容器装入

不幸的是,卷上的数据不是持久性的,而且这也是容器1重建的主要原因。@卷上的丹尼尔数据的持久性并不比当前在容器1上定义的卷上的数据高或低:一个包含卷上的数据,这使一个容器成为数据卷容器。@Danil我的观点是:将数据部分隔离在纯数据卷容器中,您不必停止并重建它,这样您就可以根据需要多次停止/重建。@Danil只是想澄清一点:卷上的数据保存在/var/lib/docker/vfs/dir中,并在中引用/var/lib/docker/volumes/id/conf.json