#匿名挂载 即只写容器内路径,不用写本机路径
-v 容器内路径
[root@localhost xiezuotao]# docker run -d -P --name nginx02 -v /etc/nginx nginx
304694f49bd0eadf778e1bdf5b459b507ecde8a21a0e0be458d68bf19a21b4e6
#查看所有volume 情况
[root@localhost xiezuotao]# docker volume ls
DRIVER VOLUME NAME
local 991d77686812a1994e2536ce904871c7ced0ed9148590c47a9da8e0c0ada8512
local 9652eccea2fa5184ef6cc0464e9a8eac12684635aededc772484313c0bbbaba5
local abef7f51d882baed9684ebd6a19d472c25da244c0ecce17e9c70a1f5d646a000
local d5b936c932aa29bb2c43961c3aec8ba0a2f6207e6f6b1acce547cc446dea1d30
#具名挂载
[root@localhost xiezuotao]# docker run -d -P --name nginx03 -v juming:/etc/nginx nginx
dba8ade72619e44b786c6486e2bbfafc238f51e4d4ac56e0e346a0906c9f56ad
[root@localhost xiezuotao]# docker volume ls
DRIVER VOLUME NAME
local 991d77686812a1994e2536ce904871c7ced0ed9148590c47a9da8e0c0ada8512
local 5433a536a92faf882400a83dab50b426b4b338b65568491c313cf034a84332f4
local 9652eccea2fa5184ef6cc0464e9a8eac12684635aededc772484313c0bbbaba5
local abef7f51d882baed9684ebd6a19d472c25da244c0ecce17e9c70a1f5d646a000
local d5b936c932aa29bb2c43961c3aec8ba0a2f6207e6f6b1acce547cc446dea1d30
local juming
#通过inspect命令查找volume位置
[root@localhost xiezuotao]# docker volume inspect juming
[
{
"CreatedAt": "2024-02-19T20:38:36+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/juming/_data",
"Name": "juming",
"Options": null,
"Scope": "local"
}
]
所有docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/XXX
通过具名挂载可以方便找到我们的卷,大多数情况下使用具名挂载
#如何确定是具名挂载还是匿名挂载还是指定路径挂载
- #匿名挂载 -v 容器内路径
- #具名挂载 -v 卷名:容器内路径
- #指定路径挂载 -v 宿主机路径:容器路径
拓展:
#通过 -v 容器内路径:ro rw 可以改变读写权限
ro readonly #只读
rw readwrite #可读可写
#一旦这个设置了容器权限,容器对我们挂载出来的东西就有限定了
docker run -d -P --name nginx -v juming:/etc/nginx:ro nginx
docker run -d -P --name nginx -v juming:/etc/nginx:rw nginx
#ro 只要看到ro就说明了这个路径只能通过宿主机来操作,容器内部无法操作!!!