Docker中使用多个volume-from的一个问题

原创 2016年02月09日 00:16:34

假设大家已经对Docker比较熟悉,前段时间在使用Docker中的Volume-from的时候遇到一个问题,就是如果同时从两个不同的Docker容器(Container)中,使用Volume-from命令,且Volume-from命令后面跟的是相同的文件夹卷标(Volume)名字,但是其文件夹中的内容不一样的时候,其后面的文件夹会覆盖前面的卷标(Volume)的文件夹的内容,并前面的卷标(Volume)的内容会被清空。通过搜索,我发现这篇文章https://realguess.net/2014/12/31/mount-multiple-data-volumes-and-multiple-data-volume-containers-in-docker/ ,也描述了我发现的问题,请大家使用的时候一定要特别注意和小心。

具体的例子和重现操作步骤如下,

1. 创建2个容器voltest1和voltest2

sudo docker run -itd --name voltest1 -v /opt/mytest ubuntu sh
sudo docker run -itd --name voltest2 -v /opt/mytest ubuntu sh

这两个容器同时共享同一个卷标(/opt/mytest)


2. 登陆voltest1 并先建一个文件1.txt

docker exec -it voltest1  sh
cd /opt/mytest
touch 1.txt</span>


注意上面的cd /opt/mytest 和touch 1.txt 两条语句是在Docker的容器voltest1执行的 

3. 登陆voltest2 并先建一个文件2.txt

docker exec -it voltest2  sh
cd /opt/mytest
touch 2.txt


注意上面的cd /opt/mytest 和 touch 1.txt 两条语句是在Docker的容器voltest2中执行的

4. 使用下面的命令,

docker run -it --name hellworld --volumes-from=voltest1--volumes-from=voltest2ubuntu sh
ls /opt/mytest


 使用上面的命令之后,我们会发现,在新的容器,/opt/mytest文件夹中,只有2.txt的文件

注意上面的ls /opt/mytest 是在Docker的容器helloworld执行的 



版权声明:本文为博主原创文章,未经博主允许不得转载。

docker 容器挂载volumes与容器共享

1.使用图比较好理解       1.我们使用busybox挂载主机的某个'目录' docker run -it --rm --name datavol -v /DataMount bu...

docker学习5--docker数据卷(volume)

1.什么是数据卷volume      为了了解什么是Docker Volume,首先我们需要明确Docker内的文件系统是如何工作的。Docker镜像被存储在一系列的只读层。当我们开启一个容器,Do...

使用docker volumes容器

创建volumes容器 docker create -v –name 运行容器并挂载data volumes docker run -d –volumes-from mydata -p 10...
  • waixin
  • waixin
  • 2016年01月23日 03:59
  • 1755

docker挂载本地目录并映射端口,生产环境中的docker部署方案(多端口多容器)

本文解决两个问题: 1.如何在启动docker的时候将本地目录挂载到docker运行容器中? 2.如何在生产环境中进行docker的部署?部署前相比于传统的部署方式有哪些优缺点? 开始: 1....

docker常用命令详解

本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来。 根据自己的理解,总的来说分为以下几种: 容器生命周期管理 —...
  • permike
  • permike
  • 2016年07月11日 11:35
  • 42320

Docker常用命令

又把官方文档过了一遍,总结一下常用命令 镜像管理 docker images:列出本地所有镜像 docker search :查找image docker pull :下载image doc...

Docker学习笔记 — Docker Volume

Docker学习笔记 — Docker Volume

深入理解Docker Volume(一)

深入理解Docker Volume(一)   想要了解Docker Volume,首先我们需要知道Docker的文件系统是如何工作的.Docker镜像是由多个文件系统(只读...

DockerFile详解

Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,并自动构建一个容器 所有的 Dockerfile 命令格式都是: INSTRUCTION argum...

深入理解Docker Volume(二)

深入理解Docker Volume(二)   一开始,楼主就认为Volume是用来持久化的,但是这实际上不对,因为认为Volume是用来持久化的同学一定是认为容器无法持久化,所...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Docker中使用多个volume-from的一个问题
举报原因:
原因补充:

(最多只允许输入30个字)