15.Docker具名挂载与匿名挂载
Docker的具名挂载和匿名挂载,是指对Docker数据卷的挂载方式;接下来,我们通过启动一个nginx容器,来一起了解一下,什么是具名挂载?什么是匿名挂载?
15.1. 匿名挂载
匿名挂载命令如下:
docker run -d -P -v /etc/nginx --name niming_nginx nginx
命令解释:
- -d 后台运行
- -P 随机映射端口
- -v 容器内路径(-v后面只跟着一个路径,则是指容器内路径)
使用docker volume ls
命令进行查看容器卷的挂载详情
具体操作如下:
15.2. 具名挂载
具名挂载命令如下:
docker run -d -P -v juming-nginx:/etc/nginx --name juming_nginx nginx
命令解释:
- -d 后台运行
- -P 随机映射端口
- -v 卷名称:容器内路径(-v 后面跟着一个卷名称:容器内路径,卷名称:表示容器卷挂载的名字)
使用docker volume ls
命令进行查看容器卷的挂载详情
具体操作如下:
15.3. 查看卷挂载信息
通过命令docker volume inspect 卷名(称)
查看卷挂载的信息。
具体使用如下:
查看具名卷挂载的信息
[root@iZ8vb6lqqya4rvreq9ra6gZ data]# docker volume inspect juming-nginx
[
{
"CreatedAt": "2022-02-15T18:17:59+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/juming-nginx/_data",
"Name": "juming-nginx",
"Options": null,
"Scope": "local"
}
]
[root@iZ8vb6lqqya4rvreq9ra6gZ data]#
通过以上信息,可以看到,容器juming_nginx的卷在宿主机的/var/lib/docker/volumes/juming-nginx/_data
目录下
查看匿名卷挂载的信息
[root@iZ8vb6lqqya4rvreq9ra6gZ data]# docker volume inspect dcf7411c095aa68c0266106998b41204ac3984f41fdef39df0e838a209df9321
[
{
"CreatedAt": "2022-02-15T18:08:18+08:00",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/dcf7411c095aa68c0266106998b41204ac3984f41fdef39df0e838a209df9321/_data",
"Name": "dcf7411c095aa68c0266106998b41204ac3984f41fdef39df0e838a209df9321",
"Options": null,
"Scope": "local"
}
]
[root@iZ8vb6lqqya4rvreq9ra6gZ data]#
通过以上信息,可以看到,容器niming_nginx的卷在宿主机的/var/lib/docker/volumes/dcf7411c095aa68c0266106998b41204ac3984f41fdef39df0e838a209df9321/_data
目录下
15.4. 区别
卷挂载命令-v 宿主机路径:容器内路径
、 -v 卷名(称):容器内路径
、 -v 容器内路径
这三者之间的区别:
-v 宿主机路径:容器内路径
表示,将容器内的路径映射到宿主机指定目录下。
-v 卷名(称):容器内路径
表示,将容器内的路径映射到宿主机docker默认的目录下,但是在宿主机/var/lib/docker/volumes/
目录下,可以根据卷名(称)找到具体的卷。
-v 容器内路径
表示,将容器内的路径映射到宿主机docker默认的目录下,并且在宿主机/var/lib/docker/volumes/
目录下,不容易找到具体的卷。
15.5. 拓展
我们在工作中、或者网上的视频中,有时候会看到这样的卷挂载命令:
-v 宿主机路径:容器内路径:ro
ro(read-only):表示容器内的内容是只读的,想要修改容器内的内容,只能通过修改在 宿主机上挂载的卷目录下 进行修改。
-v 宿主机路径:容器内路径:rw
rw(read-write):表示容器内的内容是可读可写的,可以通过容器内、宿主机,两种方式进行修改。
---------------------------------EOF-------------------------------