Docker运行时的用户与组管理的方法-创新互联
docker 以进程为核心, 对系统资源进行隔离使用的管理工具. 隔离是通过 cgroups (control groups 进程控制组) 这个操作系统内核特性来实现的. 包括用户的参数限制、 帐户管理、 资源(CPU,内存,磁盘I/O,网络)使用的隔离等. docker 在运行时可以为容器内进程指定用户和组. 没有指定时默认是 root .但因为隔离的原因, 并不会因此丧失安全性. 传统上, 特定的应用都以特定的用户来运行, 在容器内进程指定运行程序的所属用户或组并不需要在 host 中事先创建.
成都地区优秀IDC服务器托管提供商(创新互联).为客户提供专业的成都服务器托管,四川各地服务器托管,成都服务器托管、多线服务器托管.托管咨询专线:028-86922220进程控制组cgroups主要可能做以下几件事:
- 资源限制 组可以设置为不超过配置的内存限制, 其中还包括文件系统缓存
- 优先级 某些组可能会获得更大的 CPU 利用率份额或磁盘 i/o 吞吐量
- 帐号会计 度量组的资源使用情况, 例如, 用于计费的目的
- 控制 冻结组进程, 设置进程的检查点和重新启动
与 cgroups(控制进程组) 相关联的概念是 namespaces (命令空间).
命名空间主要有六种名称隔离类型:
- PID 命名空间为进程标识符 (PIDs) 的分配、进程列表及其详细信息提供了隔离。
虽然新命名空间与其他同级对象隔离, 但其 "父 " 命名空间中的进程仍会看到子命名空间中的所有进程 (尽管具有不同的 PID 编号)。
- 网络命名空间隔离网络接口控制器 (物理或虚拟)、iptables 防火墙规则、路由表等。网络命名空间可以使用 "veth " 虚拟以太网设备彼此连接。
- UTS 命名空间允许更改主机名。
- mount(装载)命名空间允许创建不同的文件系统布局, 或使某些装入点为只读。
- IPC 命名空间将 System V 的进程间通信通过命名空间隔离开来。
- 用户命名空间将用户 id 通过命名空间隔离开来。
普通用户 docker run 容器内 root
如 busybox, 可以在 docker 容器中以 root 身份运行软件. 但 docker 容器本身仍以普通用户执行.
考虑这样的情况
echo test | docker run -i busybox cat
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章名称:Docker运行时的用户与组管理的方法-创新互联
分享地址:http://ybzwz.com/article/gigge.html