匿名挂载
在-v只写了容器内的路径,没有写容器外的路径。
-v 容器内路径 # 匿名挂载
docker run -d -P --name=nginx01 -v /etc/nginx nginx
# 查看多有的volume 情况
docker volume ls
具名挂载
·
所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxxx/_data下 通过具名挂载可以方便地找到一个卷,大多数情况在使用具名挂载
docker run -d -P --name=nginx02 -v jumingNginx:/etc/nginx nginx
下面进行了一系列操作查看挂载到容器的/var/lib/docker/volumes/xxxx/_data这个目录下
指定路径挂载
-v /宿主机路径:容器内路径
生成镜像时挂载
Dockerfile就是用来构建docker镜像的构建文件!命令脚本!
通过这个脚本可以生成镜像,镜像是一层一层的,脚本每个命令都是一层。
# 创建一个dockerfile文件,名字可以随机 建议 Dockerfile
# 文件中的内容 指令(大写) 参数
FROM centos
VOLUME ["v1","v2"]
CMD echo "----end----"
CMD /bin/bash
docker build -f /home/docker-test-volume/dockerfile1 -t /sb/centos:1.0 .
- 这里每个命令就是镜像的一层
- 生成一个镜像,在创建镜像时就 挂载文件
- 此处相当于匿名挂载
启动自己的镜像看看
docker run -it 5573611869e7 bash
也就是数据卷目录,这个数据卷一定和外面有一个是同步的目录
VOLUME ["v1","v2"]
写成这样其实是匿名挂载
用docker inspect 命令看一下这个容器的具体信息