1.数据卷的四种挂载方式

匿名和具名挂载都会默认挂载到宿主机的/var/lib/docker/volumes/xxxx/_data

  1. 匿名挂载
# -v 后面直接写容器内路径
docker run -d -P --name nginx01 -v /etc/nginx nginx
  1. 具名挂载
# -v 后面写   数据卷名:容器内路径,给数据卷取一个名字
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
  1. 指定目录挂载(docker volume ls 是查看不到的)
# -v  /宿主机路径:容器内路径
docker run -d -P --name nginx02 -v /etc/nginx:/etc/nginx nginx
  1. 在创建dockerfile的时候创建匿名数据卷 创建镜像kuangshen/centos1.0之后,在创建的容器中会自动的在根目录下创建volume01,volume02目录,并且匿名加载到宿主机的/var/lib/docker/volumes/xxxx/_data目录。
# 创建一个dockerfile文件,名字可以随便 建议Dockerfile
# 文件中的内容 指令(大写) 参数
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash
#这里的每个命令,就是镜像的一层!

2. 数据卷容器

容器之间的挂载,用于容器之间的数据同步

docker  run -it  --name docker02 --volumes-from docker01  kuangshen/centos:1.0

docker02挂载了docker01,由于两个容器都是由相同的镜像创建的,所以有相同的目录结构,docker01为父容器。

删除了父容器,那么子容器的数据卷仍然会存在,容器之间的配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。

06-29 21:43