一尘不染

内核级别的Docker命名空间

docker

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

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


阅读 245

收藏
2020-06-17

共1个答案

一尘不染

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

默认情况下,这些pid位于不同的命名空间中。
发行10080和开始--pid host,容器pid可以保留在主机的pid名称空间中。
还有一个问题10163:“允许共享的PID名称空间”,请求一个
--pid=container:id

当我们在Docker容器中创建新进程时,所有内核更改都在发生什么

请注意并于2016年5月更新:
问题10163,--pid=container:id现在由PR
22481
针对docker
1.12进行了解决,允许加入另一个容器的PID名称空间。


在内核级别没有更改,仅使用:

  • cgroups或对照组。隔离运行应用程序的一个关键是使它们仅使用所需的资源。
  • 联合文件系统以提供容器的构建块
2020-06-17