内核级别的 Docker 命名空间

2024-03-02

如何区分 docker 容器的 pid 1,17 等与主机的 1,17 等 pid,以及当我们在 docker 容器内创建新进程时发生的所有内核更改是什么?

如何在宿主机中看到docker内部的进程?


如何区分docker容器的pid 1,17等与主机的1,17

默认情况下,这些 pid 位于不同的命名空间中。
Since 问题 10080 https://github.com/docker/docker/pull/10080 and --pid host,容器 pid 可以保留在主机的 pid 命名空间中。
还有问题 10163:“允许共享 PID 命名空间” https://github.com/docker/docker/issues/10163,请求一个--pid=container:id

当我们在 docker 容器内创建一个新进程时,所有内核发生了什么变化

2016 年 5 月注释和更新:问题 10163 和--pid=container:id https://github.com/docker/docker/issues/10163现在已解决PR 22481 https://github.com/docker/docker/pull/22481对于 docker 1.12,允许加入另一个容器的 PID 命名空间。


内核级别没有变化,仅使用:

  • cgroups 或对照组。隔离运行应用程序的关键是让它们仅使用您想要的资源。
  • 联合文件系统为容器提供构建块
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内核级别的 Docker 命名空间 的相关文章

随机推荐