1、匿名挂载
(1)启动容器
docker run -d -P --name nginx01 -v /etc/nginx nginx
-v 容器内路径
(2)查看所有卷的情况
docker volume ls
注:
由上图可以看到,VOLUME NAME 有的是随机生成的字符串,对于这种就是匿名挂载,因为-v的时候只写了容器内的路径看,而没有写容器外的路径
2、具名挂载
(1) 启动容器
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
语法: -v 卷名:容器内路径
(2)查看一下这个卷
docker volumn inspect juming-nginx
注:
a、所有docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/XXX
b、docker volumn ls 查看所有的卷都在这个位置/var/lib/docker/volumns
c、查看刚才添加的juming-nginx目录
3、选择
我们通过具名挂载可以方便的找到我们的一个卷,大多数情况在使用的,不建议大家使用匿名挂载
如何确定是匿名挂载还是具名挂载呢?
-v 容器内路径 #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v /宿主机路径:容器内路径 #指定路径挂载
4、拓展
(1)通过 -v 容器内路径:ro rw 改变读写权限
ro readonly #只读
rw readwrite #可读可写
(2)一旦这个设定了容器权限,容器对我们挂载出来的内容就有限定了
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx
(3)ro
只要看到ro就说明这个路径只能通过宿主机来改变,容器内部是无法操作的