--pid=host 通过 DockerFile 设置

Aru*_*uru 5 docker dockerfile

我正在尝试使用 jmap 来收集堆转储。该应用程序被容器化并在 EC2 实例上启动。为了生成堆转储,分配给 java 进程的 PID 为“1”,并且 jmap 无法与该进程通信。

如果我在 docker run 命令中使用 --pid=host ,则容器内的进程将使用主机的 PID 命名空间,并将进程 ID 分配给 java 应用程序作为“3456”,为此我能够生成堆转储。

现在我想通过 docker 文件或其他方式自动执行 --pid=host 的过程,以将容器设置为使用主机 PID 命名空间。

有办法做到吗?

7_R*_*R3X 5

您可以放入pid: "host"您的docker-compose.yml文件以使其正常工作。它记录在这里

\n
\n

pid: "host"

\n

将PID模式设置为主机PID模式。这将打开容器和主机操作系统之间共享 PID 地址空间。\n使用此标志启动的容器可以访问和操作裸机\nxe2\x80\x99s 命名空间中的其他容器,反之亦然。

\n
\n