Docker 具名和匿名挂载

# 匿名挂载
-v 容器内路径
[]# docker run -d -p 9090:80 --name nginx01 -v /etc/nginx nginx


# 查看所有卷(volume)情况
[]# docker volume ls
DRIVER    VOLUME NAME
local     03e30acbd528baf22726c8e43f62ffca58ff6f9b3ec13ba29e745bf1ae10cc01

# 这里发现,这种就是匿名挂载,我们在 -v 只写了容器内路径。

# 具名挂载
-v 卷名:容器内路径
[]# docker run -d -p 9091:80 --name nginx02 -v test-nginx:/etc/nginx nginx

[]# docker volume ls
DRIVER    VOLUME NAME
local     03e30acbd528baf22726c8e43f62ffca58ff6f9b3ec13ba29e745bf1ae10cc01
local     test-nginx

# 查看一下这个卷
[]# docker volume inspect test-nginx
[
    {
        "CreatedAt": "2021-07-11T17:22:03+08:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/test-nginx/_data",
        "Name": "test-nginx",
        "Options": null,
        "Scope": "local"
    }
]

所有docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxxx/_data

我们通过具名挂在可以方便的找到我们的一个卷,大多数情况在使用  具名挂在

# 如何确定是具名挂在还是匿名挂在,还是指定路径挂在
-v 容器内路径    # 匿名挂在
-v 卷名:容器内路径    # 具名挂在
-v /宿主机路径:容器内路径    #指定路径挂在

拓展:

# 通过 -v 容器内路径:ro rw 改变读写权限
ro    readonly # 只读
rw    readwrite # 可读可写

# 一旦设置了容器的权限,容器对我们挂载出去的内容就有了限定
[]# docker run -d -p 9091:80 --name nginx02 -v test-nginx:/etc/nginx:ro nginx
[]# docker run -d -p 9091:80 --name nginx02 -v test-nginx:/etc/nginx:rw nginx

# ro 此路径只能通过宿主机进行操作,在容器内只能读取,无法做其它操作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值