一、匿名挂载
1、即不指定挂载到主机上的路径,只指定容器内部需要挂载的目录。
2、查看宿主机所有卷的挂载情况。
docker volume ls
图中标记的数据卷都是匿名数据卷,因为没有名字。
local 2a033f3bf262662cba43289e90ce97a152e116863c77038192471a2692594fbb
二、具名挂载
1、给挂载位置添加名字,即具名挂载。
指令:docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
注意:这里 -v juming-nginx: 代表直接给定名字,但是没有指定路径,如果在juming-nginx前面你添加/,则代表指定路径。
如图,查看数据卷一栏增加了刚刚添加的数据卷。
2、查看数据卷的配置信息。
指令:docker volume inspect 数据卷id
“Mountpoint”即在主机上上分配的挂载路径。
所有容器内的卷,在没有指定目录的情况下都是挂载在:/var/lib/docker/volumes/xxxx/_data 目录下。
3、进入主机的卷目录,查看数据卷的配置信息
可以看到,容器内部映射过来的 nginx.conf 文件已经同步过来了
可以查看配置信息。命令:cat nginx.conf
4、通过具名挂载可以方便地找到挂载的卷,大多数情况下都是使用具名挂载的方式。
三、具名挂载、匿名挂载和指定路径挂载的区别
1、
-v 容器内部路径 #匿名挂载
-v 卷名:容器内部路径 #具名挂载
-v /宿主机路径:容器内部路径 指定路径挂载
2、数据卷挂载还可以赋予权限
通过 -v 容器内路径 :ro或rw 改变读写权限
例子:
docker run -d -P --name ningix01 -v /etc/nginx nginx:ro
即创建的这个卷是只读权限(read only),即容器内部职能读取,不能修改,必须通过宿主机来进行修改。
默认是rw权限,即可读可写。
-*-本篇使用到的命令-*-
1、匿名挂载指令
例子:docker run -d -P --name ningix01 -v /etc/nginx nginx
-P 随机映射端口
--name 容器名字
-v /etc/nginx,只指定容器内部需要挂在的路径。
2、查看所有卷的挂载情况
指令说明:
Usage: docker volume COMMAND
Manage volumes
Commands:
create Create a volume
inspect Display detailed information on one or more volumes
ls List volumes
prune Remove all unused local volumes
rm Remove one or more volumes
例子:docker volume ls 查看所有的数据卷
docker volume inspect 数据卷id 查看某个数据卷的详细配置信息
3、cat 文件名 --在终端中打开文件