数据管理

共享方法一:这种方法不需要备份保存

1. 挂载本地的目录到容器里
docker run -tid -v /data/:/data --name love_linux centos  /bin/bash

-v 用来指定挂载目录,前面的/data/为本地目录,后面的/data/为容器里的目录

2. 挂载数据卷
docker run -itd --volumes-from loving_linux centos  /bin/bash
这样,我们使用centos镜像创建了新的容器,并且使用了 loving_linux 容器的数据卷,这样就有2个容器使用同一个数据卷,当然也可以更多容器一起使用同一个数据卷,任何一个容器修改/data/里边的东西,所有容器以及本地的/data/都会改变。

举例子:
本地目录/data/里边存在着1.txt  pzm.txt  directory

打开三个容器并且制定它们的名字

docker run -itd -v /data/:/data/ --name share centos /bin/bash
docker run -itd --volumes-from share --name share1 centos /bin/bash
docker run -itd --volumes-from share --name share2 centos /bin/bash

进入share1容器创建share1.txt

进入share2容器创建share2.txt

进入share容器删除1.txt

最后结果是:本机目录/data以及三个容器的/data存在着pzm.txt share1.txt share2.txt directory

共享方法二:这种方法需要备份保存

3. 定义数据卷容器
如果多个容器之间相互共享数据,类似于linux里面的NFS,就要搭建一个专门的数据卷容器,然后其他容器直接挂载该数据卷。
首先建立数据卷容器
docker run -itd -v /data/ --name test centos  /bin/bash  //注意这里的/data/是容器的/data目录,并非本地的/data/目录。 
然后让其他容器挂载该数据卷
docker run -itd  --volumes-from test centos /bin/bash