淘先锋技术网

首页 1 2 3 4 5 6 7

在Docker中使用PID隔离可以让不同容器的进程ID不会相互干扰,确保容器的隔离性。在容器启动时,Docker引擎会创建新的命名空间,并且在该命名空间中运行容器中的第一个进程(通常是init)。

$ docker run --pid=host ubuntu:latest ps

当我们指定PID隔离时,Docker会在新的命名空间中运行容器进程。默认情况下,这个PID命名空间是隔离的,也就是说,容器中的进程只能看到容器内部的进程。

比如,在容器内部运行ps命令,只会看到容器内部的进程:

$ docker run --pid=container:ubuntu:latest ps

但是,在容器外运行ps命令,只能看到容器内部init进程的PID:

$ ps -ef | grep

这个特性可以帮助我们限制容器内部进程的运行环境,让容器更加安全。