前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker 基础: 具名、匿名挂载介绍

docker 基础: 具名、匿名挂载介绍

原创
作者头像
IT技术分享社区
发布2023-10-16 13:07:36
4470
发布2023-10-16 13:07:36
举报
文章被收录于专栏:IT技术分享社区

今天给大家聊聊docker具名、匿名挂载的相关知识,一起来学学吧!

图片
图片
图片
图片

匿名挂载

1.1  含义

匿名挂载就是指定容器内路径,dockers run 每挂载一个目录就会宿主主机自动创建一个随机字符串的目录。目录/var/lib/docker/volumes/随机字符串。

图片
图片

注意:里面的_data目录和对应容器内目录进行同步

图片
图片

1.2 匿名挂载示例

代码语言:javascript
复制
运行容器
docker run -d -p 8000:80  --name nginxtest -v /etc/nginx nginx 
查看nginxtest容器目录挂载情况
docker inspect --format="{{json .Mounts}}" 7880ad6076b1

查看挂载内容如下:

代码语言:javascript
复制
[
    {
 "Type":"volume"undefined
        "Name":"6d05e4012610c5427b589f38009ade0d90bd5009896d251f545979ddb736e1b8"undefined        "Source":"/var/lib/docker/volumes/6d05e4012610c5427b589f38009ade0d90bd5009896d251f545979ddb736e1b8/_data"undefined
        "Destination":"/etc/nginx"undefined 
        "Driver":"local"undefined
        "Mode":""undefined
        "RW":trueundefined
        "Propagation":""
    }
]

返回参数说明:

  • 容器内路径:Destination:/var/lib/docker/volumes/6d05e4012610c5427b589f38009ade0d90bd5009896d251f545979ddb736e1b8/_data
  • 宿主主机路径:Source:/etc/nginx

1.3 文件同步测试

宿主主机测试命令

代码语言:javascript
复制
#进入挂载目录,创建 1.txt 文件
cd /var/lib/docker/volumes/6d05e4012610c5427b589f38009ade0d90bd5009896d251f545979ddb736e1b8/_data
touch 1.txt

容器内部测试命令

代码语言:javascript
复制
docker exec -it nginxtest /bin/bash
cd /etc/nginx 
touch 22.txt

宿主主机

图片
图片

容器内部

图片
图片

具名挂载

2.1 含义

具名挂载就是挂载的同时指定一个有具体含义的名字,方便后续和容器对应以及后续的运维,便于查找挂载目录。

2.2 具名挂载示例

代码语言:javascript
复制
#运行容器
docker run -d -p 8001:80  --name nginxtest02 -v nginxtest02:/etc/nginx nginx 
#查看容器挂载目录
docker inspect --format="{{json .Mounts}}" 4cd1e3241698

查看容器挂载内容

代码语言:javascript
复制
[
    {
        "Type":"volume"undefined
        "Name":"nginxtest02"undefined
        "Source":"/var/lib/docker/volumes/nginxtest02/_data"undefined
        "Destination":"/etc/nginx"undefined
        "Driver":"local"undefined
        "Mode":"z"undefined
        "RW":trueundefined
        "Propagation":""
    }
]

返回参数说明:

容器内路径:Destination:/etc/nginx

宿主主机路径:Source:/var/lib/docker/volumes/nginxtest02/_data

具体的文件同步和匿名挂载一样,大家可以自己测试。

  1. 查看挂载数据卷命令

docker volume ls

图片
图片

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

4、总结

宿主主机挂载目录对应同步的文件在_data 目录里面。双向实时同步。

指定具体的挂载目录名,便于查找和管理,如果你的容器比较多,都是不可读的字符串,那么可维护性会比较差,建议采用具名挂载。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 匿名挂载
    • 1.1  含义
      • 1.2 匿名挂载示例
        • 1.3 文件同步测试
        • 具名挂载
          • 2.1 含义
            • 2.2 具名挂载示例
              • 4、总结
              相关产品与服务
              容器镜像服务
              容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档