Linux内核又躺枪 之《docker挂载volume的权限问题》

本文探讨了在使用Docker时遇到的挂载Volume权限问题,详细分析了问题根源,包括Docker依赖的Linux内核特性Namespaces和Control groups。通过讲解为何容器内的文件权限显示为root,如何判断运行用户为root,以及容器内的用户名与宿主机的不同,提出了关闭SELinux或指定user作为解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我对docker不太成熟的认知!写的不好望指出!互相学习、交流!

对docker的认知

为什么说Linux内核又躺枪了,日常甩锅,只能把锅甩给Linux 内核了,哈哈哈…

docker依赖于Linux的两个内核特性:

Namespaces - 命名空间
Control groups(cgroups)- 控制组

Namespaces

命名空间提供了一种系统资源的隔离,包括了文件系统、网络、进程等。

docker有以下5种命名空间:

PID:进程隔离
NET:网络管理接口
IPC:管理跨进程通信访问
MNT:管理挂载点
UTS:隔离内核和版本标识

Control groups

这是Linux内核提供的一种可以限制,记录,隔离物理进程组的机制。他提供了以下功能:

资源限制
优先级设定
资源计量
资源控制

docker 基本能力

Namespaces和Control groups带给了容器下面的能力:

文件系统的隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:每个容器间虚拟网络接口和ip地址都是分开的
资源隔离和分组:Control groups可以将CPU和内存之类的资源独立分配给每个docker容器

使用场景

我们在使用docker容器的时候,经常要给容器里面挂载本地服务器目录,从而实现某个文件在宿主机和容器内部都可以访问的效果。

例如:在容器内部进行删除、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值