docker 匿名和具名挂载

匿名挂载,只指定容器内了,没指定容器外

-v 容器内路径 
docker run -d -P --name nginx01 -v /etc/nginx nginx 
#-P 随机映射端口 ; -v 不指定主机路径,只指定了容器内的路径,没指定容器外路径。

匿名挂载的缺点,就是不好维护,通常使用命令 docker volume维护

docker volume ls #查看所有卷

具名挂载

-v 卷名:/容器内路径
docker run -d -P --name nginx02 -v nginxconfig:/etc/nginx nginx
#-P 随机映射端口;nginxconfig:给nginx命个具名,只是名字,给匿名起了个名字,不是目录,普通配置

查看挂载的路径

[root@zheng ~]# docker volume inspect nginxconfig
[
{
"CreatedAt": "2020-05-13T17:23:00+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/nginxconfig/_data",
"Name": "nginxconfig",
"Options": null,
"Scope": "local"
}
]
#所有docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/xxxxx/_data
#我们通过具名挂载可以方便的找到我们的一个卷,大多数情况在使用 具名挂载 !

如何确定是具名挂载还是匿名挂载,还是指定路径挂载

-v 容器内路径  	        #匿名挂载 
-v 卷名:容器内路径       #具名挂载;卷名不带路径"/"
-v /主机路径:容器内路径  #指定路径挂载

改变文件的读写权限

#通过-v 容器内路径;ro rw改变读写权限
# ro: readonly
# rw: readwrite
# 用来指定容器对我们挂载出来内容的读写权限
# 一旦这个设置了容器权限,容器对我们挂载出来的内容就有限定
docker run -d -P --name nginx02 -v nginxconfig:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v nginxconfig:/etc/nginx:rw nginx

# ro 只要看到ro就说明这个路径只能通过主机linux来操作,容器内部无法操作!
posted @ 2022-04-04 20:02  郑琰  阅读(58)  评论(0编辑  收藏  举报
#

# #