0
点赞
收藏
分享

微信扫一扫

#yyds干活盘点#15.Docker具名挂载与匿名挂载

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 命令进行查看容器卷的挂载详情

具体操作如下:
image202202151812.png

15.2. 具名挂载

具名挂载命令如下:

docker run -d -P -v juming-nginx:/etc/nginx --name juming_nginx nginx

命令解释:

  • -d 后台运行
  • -P 随机映射端口
  • -v 卷名称:容器内路径(-v 后面跟着一个卷名称:容器内路径,卷名称:表示容器卷挂载的名字)

使用docker volume ls 命令进行查看容器卷的挂载详情

具体操作如下:
image202202151821.png

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-------------------------------

举报

相关推荐

0 条评论