docker命名空间如何与Host命名空间不同以及如何在这两者之间映射pid?任何人都可以给我一个想法,有助于使用源代码轻松地映射主机n docker之间的pid?
您可以在/proc/PID/status
文件中找到映射.它包含如下行:
NSpid: 16950 24
Run Code Online (Sandbox Code Playgroud)
这意味着16950
主机24
位于容器内部.
正如我在" 安全地运行docker "中提到的那样:
目前,Docker使用五个名称空间来更改系统的进程视图:进程,网络,装载,主机名,共享内存.
默认情况下,正如我在上一个问题" 内核级别的Docker命名空间 "中提到的那样,容器pid与主机隔离(除非你运行它们--pid host
)是设计的.
如果您正在使用--pid=host
,那么这些容器pid在主机中是可见的,但不容易与特定容器匹配,直到问题10163并且--pid=container:id
已解决.
2016年5月更新: 问题10163,--pid=container:id
实际上由PR 22481解决了docker 1.12,允许加入另一个容器的PID命名空间.
归档时间: |
|
查看次数: |
4256 次 |
最近记录: |