gpt4 book ai didi

docker - 通过 bash 连接到容器时避免 docker exec 僵尸进程

转载 作者:行者123 更新时间:2023-12-02 20:12:27 25 4
gpt4 key购买 nike

像大多数 docker 用户一样,我需要定期连接到正在运行的容器并通过 bash 执行各种任意命令。

我正在使用带有 ubuntu 16.04 镜像的 17.06-CE,据我了解,在不将 ssh 安装到容器中的情况下执行此操作的唯一方法是通过 docker exec -it <container_name> bash
但是,as is well-documented ,对于您生成的每个 bash shell 进程,当您的连接中断时,您会留下一个僵尸进程。如果你经常连接到你的容器,你最终会得到 1000 个空闲的 shell——这是最不受欢迎的结果!

如何确保这些僵尸 shell 进程在断开连接时被杀死 - 因为它们会通过 ssh?

最佳答案

一种方法是确保 linux init进程在您的容器中运行。
在最新版本的 docker 中有一个 --init optiondocker run应该这样做。这使用 tini运行 init也可以在以前的版本中使用。

另一个选项类似于 phusion-baseimage提供具有此功能和许多其他功能的基本 docker 镜像的项目(可能是矫枉过正)。

关于docker - 通过 bash 连接到容器时避免 docker exec 僵尸进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45953229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com