当前位置: 首页 > news >正文

在运维工作中,docker封闭了哪些资源?

Docker 容器隔离的资源类型

Docker 通过 Linux 内核的多种机制实现了资源的隔离和限制,以下是 Docker 容器封闭的主要资源类型:

1. 进程隔离

  • 使用 Linux namespaces 实现进程隔离
  • 每个容器有自己的 PID namespace,看不到主机和其他容器的进程
  • docker top <container> 只能看到容器内的进程

2. 文件系统隔离

  • 使用 Mount namespace 提供独立的文件系统视图
  • 每个容器有自己独立的根文件系统
  • 通过 UnionFS (Overlay2等)实现分层文件系统

3. 网络隔离

  • 使用 Network namespace 提供独立网络栈
  • 每个容器有自己的网络接口、IP地址、路由表等
  • 可通过 bridge、host、none 等网络模式配置

4. 用户隔离

  • 使用 User namespace (可选启用)
  • 容器内的root用户在主机上映射为非root用户
  • 增强安全性,防止容器内特权提升影响主机

5. 进程间通信(IPC)隔离

  • 使用 IPC namespace 隔离System V IPC和POSIX消息队列
  • 容器间默认不能通过共享内存等方式通信

6. 主机名和域名隔离

  • 使用 UTS namespace 提供独立的主机名和域名
  • 每个容器可以有自己的hostname

7. 资源限制(cgroups)

  • CPU限制:通过cgroups限制CPU份额和核心使用
  • 内存限制:设置内存和swap使用上限
  • I/O限制:限制磁盘读写带宽
  • 设备访问:控制对设备文件的访问权限

8. 其他安全隔离

  • Capabilities:限制容器内进程的Linux能力
  • Seccomp:限制系统调用
  • SELinux/AppArmor:强制访问控制

不完全隔离的资源

  • 系统时间:默认与主机共享(可通过--uts=host单独配置)
  • 某些/proc和/sys文件:部分系统信息未被完全隔离
  • 内核模块:容器共享主机内核

Docker通过这些隔离机制提供了轻量级的虚拟化环境,但需要注意的是,容器并不是完全隔离的虚拟机,某些系统资源仍然是共享的。

http://www.vanclimg.com/news/692.html

相关文章:

  • SciTech-EECS-Library: img2pdf 与 pdf2image : Python 的 pdf 与 image 双向转换库
  • 深度学习(pytorch量化)
  • 在运维工作中,Docker怎么清理容器磁盘空间?
  • 生成函数
  • CVE-2021-45232 Apache APISIX Dashboard身份验证绕过漏洞 (复现)
  • 在运维工作中,如果运行的一个容器突然挂了,如何排查?
  • IIS中配置HTTPS证书的详细步骤
  • 李超线段树
  • 非常值得学习渲染入门的一个教程
  • Linux开机自动登录的一种方法
  • 7月28日
  • 2025 ZR暑假集训 CD联考 Day2 E 环球旅行
  • zk后集训
  • 乘法逆元(部分施工)、exgcd
  • 夏令营Ⅲ期
  • 集成学习算法
  • K 近邻算法
  • 二叉树 (动态规划)
  • 1 引言(1.1 - 1.5)
  • goethereum-账户 - Charlie
  • Qt播放音频,支持进度条,设置语速,播放暂停
  • 使用监督学习训练图像聚类模型
  • java第二十八天
  • P2910 [USACO08OPEN] Clear And Present Danger S (Floyd算法)
  • 读《构建之法》:我的C/C++学习反思
  • 软工7.28
  • DE_aemmprty 题单合集(分类)
  • 《大道至简——软件工程实践者的思想》读后感
  • C++对象模型
  • 子串的故事(2) - 2025“钉耙编程”中国大学生算法设计暑期联赛(2)T4 题解