一、什么是数据卷容器
如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。
数据卷容器:用于容器间的数据共享,主动挂载宿主机目录,用于其他容器挂载和共享。
二、数据卷容器的操作
1、创建数据卷容器
$ sudo docker run -d -v /dbdata --name dbdata training/postgres echo "Welcome!"
2、其他容器挂载数据卷容器
docker run --volumes-from [CONTAINER-NAME]
3、删除数据卷容器
如果删除了挂载的容器(包括 dbdata、db1 和 db2),数据卷并不会被自动删除。
如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时使用 docker rm -v 命令来指定同时删除关联的容器。 这可以让用户在容器之间升级和移动数据卷。
4、利用数据卷容器来备份、恢复、迁移数据卷
三、一个例子
1、# 创建数据卷容器
$ docker run -d -v /dbdata --name dvt4 lexiaofei/dvt
# ls
#touch /datavolume1/dvt4_1
# exit
2、启动容器dvt5挂载数据卷容器
$ docker run -it --name dvt5 --volumes-from dvt4 ubuntu /bin/bash
# ls
# ls /dbdata
# touch /dbdata /dvt5_1
# ls /dbdata
# exit
3、启动容器dvt6挂载数据卷容器
$ docker run -it --name dvt6--volumes-from dvt4 ubuntu /bin/bash
# ls -l
# exit
4、删除容器(只要有连接的,删不掉的!)
$ docker rm dvt4
# docker restart dvt5
# docker attach dvt5
# ls
# exit
* 数据卷容器不一定能真正删除,只要有容器在引用,数据卷就一直存在
* 数据卷容器停止后,数据卷在活着的容器中仍然可用