首页 > 解决方案 > Docker 共享卷创建和附加问题

问题描述


我有一个关于 docker 共享卷的问题。我知道如果我使用 -v 选项运行容器,我会创建一个卷,我可以使用 --volumes-from 将其共享到另一个容器:

docker run -d -v DataVolume1:/datavolume1 --name container1 image1:v1.0.0
docker run --name container2 --volumes-from container1 image2:v1.0.0

但我无法理解这一点的全部行为。似乎容器 1 中的卷是主卷,容器 2 中的相同卷是从卷。那么容器 2 可以写入,容器 1 可以读取,还是相反?

为什么我不能像那样在我的所有容器上使用 -v 选项?

docker run -d -v DataVolume1:/datavolume1 --name container1 image1:v1.0.0
docker run -d -v DataVolume1:/datavolume1 --name container2 image2:v1.0.0

或创建一个卷:

docker volume create --name DataVolume1

然后附加到两个容器:

docker run -d -v DataVolume1:/datavolume1 --name container1 image1:v1.0.0
docker run -d -v DataVolume1:/datavolume1 --name container2 image2:v1.0.0

是否因为每个 -v 重新创建卷并切断与前一个容器的链接而产生一些麻烦?还是别的什么?因为使用两个“docker run -v”我还可以为同一个卷指定不同的安装路径,所以如果它对我有用更好,但我从来没有看到有人使用这种方式,那有什么问题?

提前致谢!

标签: dockervolumeshared

解决方案


推荐阅读