Docker容器中的进程是否会在Host OS上显示为相同的进程?

时间:2017-12-27 03:55:57

标签: image docker process containers

我正在Macbook上的Docker中运行一个Mongo容器。为了显示该特定容器中的进程,我们使用TOP命令,如下所示。enter image description here

在Udemy的一些教程视频中,讲师表示,上面图片中带有PID 3238的过程在主持人和命令ps aux中显示为进程。

但是,我无法在主机上的进程列表下找到PID 3238的进程。想知道我是否错误地设置了Docker或者我错过了什么?

1 个答案:

答案 0 :(得分:2)

Docker container默认情况下与主机操作系统具有不同的PID命名空间。

为了与Host OS共享PID命名空间,您应该使用host pid mode

例如,

$ docker run --rm --pid=host -it ubuntu:16.04 top

该命令显示主机操作系统的所有进程,包括top中的container进程,您还可以在top container进程中找到相同的PID和主机操作系统中的top进程。

对于docker-compose是here