Docker数据管理
1.绑定数据卷,这两个命令同等
命令1:
docker run -it -P --mount type=bind,source=/pd,destination=/usr/share/nginx/html nginx bash
# --mount 选项支持三种类型的数据卷
volume:普通数据卷,映射到主机/var/lib /docker/volumes 路径下
bind:绑定数据卷,映射到主机指定路径下
tmpfs:临时数据卷,只存在于内存中
命令2:
docker run -it -P -v /pd:/usr/share/nginx/html nginx bash
# 指定路径挂载
-v /宿主机路径:/容器内路径
# 匿名挂载
-v /容器内路径
# 具名挂载
-v 卷名:/容器内路径
2.数据卷容器
使用特定容器维护数据卷。
如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。 数据卷容器也是一个容器,但是它的目的是专门提供数据卷给其他容器挂载。
-
1.创建一个数据卷容器 db0,并在其中创建一个数据卷挂载到 /dbdata
docker run -it --name db0 -v /dbdata centos:7
-
2.在其他容器中使用-- volumes-from 来挂载 dbdata 容器中的数据卷
docker run -it --name db1 --volumes-from db0 centos:7 docker run -it --name db2 --volumes-from db0 centos:7
-
3.现在db0、db1、db2中的dbdata目录是互通的,无论在db几种的dbdata种创建文件,哪个容器都有数据。
-
4.可以多次使用 --volumes-from 参数来从多个容器挂载多个数据卷,还可以从其他已
经挂载了容器卷的容器来挂载数据卷