1. 匿名挂载
- -v指定路径时,只指定容器内挂载路径。
例如
[root@192 ~]# docker run -d -P --name nginx01 -v /etc/nginx nginx
查看本地镜像(docker volume)
[root@192 ~]# docker volume ls
DRIVER VOLUME NAME
local 4bf74ee9d5ddf8fcffc917dac7df471e04d0f5e0e4b57e962963e1650918ffc9
local 6a433c8f0d2d51564aa96e835389446feb45fc4ca1bd6ad9df73ba10a44082f8
local 814d8638feb51d122ec77c5d1eebfcf9668f5e475f779f8d3e5e7deafbd6bf70
[root@192 ~]#
2. 具名挂载
- -v指定路径时,即指定宿主机路径,也指定容器内路径。
例如
[root@192 ~]# docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
查看本地镜像(docker volume)
[root@192 ~]# docker volume ls
DRIVER VOLUME NAME
local juming-nginx -------------------本地路径
[root@192 ~]#
3. 查看卷
- 通过具名挂载,可以方便的找到卷,该方法被普遍使用。
[root@192 ~]# docker volume inspect juming-nginx
[
{
"CreatedAt": "2021-10-06T20:03:24+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/juming-nginx/_data",
"Name": "juming-nginx",
"Options": null,
"Scope": "local"
}
]
[root@192 ~]#
所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes路径下面。
4. 分类
- 匿名挂载:-v 容器内路径
- 具名挂载:-v 卷名:容器内路径
- 指定路径挂载:-v /宿主机路径:容器内路径
5. 扩展
- 一旦设置了“ro”权限,容器挂载出来的内容只读,只能通过宿主机改变,不能通过容器内部改变。
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx -------ro: read only
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx -------rw: read write