PID mapping between docker and host

前端 未结 2 748
有刺的猬
有刺的猬 2021-02-06 09:09

How docker namespace is different from Host namespace and how the pid can be mapped between these two? Can anyone give me an idea that helps to make easy way of mapping pid\'s b

相关标签:
2条回答
  • 2021-02-06 09:32

    You can find the mapping in /proc/PID/status file. It contains a line like:

    NSpid:  16950   24
    

    Which means that 16950 on the host is 24 inside the container.

    0 讨论(0)
  • 2021-02-06 09:33

    As I mentioned in "Running docker securely":

    Currently, Docker uses five namespaces to alter processes view of the system: Process, Network, Mount, Hostname, Shared Memory.

    The fact that, by default, as I mentioned in your previous question "Docker Namespace in kernel level" the container pid are isolated from the host (unless you run them with --pid host) is by design.

    If you are using --pid=host, then those container pids are visible from the host, but not easily matched to a particular container, not until issue 10163 and --pid=container:id is resolved.

    Update May 2016: issue 10163 and --pid=container:id is actually resolved by PR 22481 for docker 1.12, allowing to join another container's PID namespace.

    0 讨论(0)
提交回复
热议问题