Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过bash连接到容器时避免docker exec僵尸进程_Docker_Docker Engine - Fatal编程技术网

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

通过bash连接到容器时避免docker exec僵尸进程,docker,docker-engine,Docker,Docker Engine,和大多数docker用户一样,我需要定期连接到正在运行的容器,并通过bash执行各种任意命令 我将17.06-CE与ubuntu 16.04映像一起使用,据我所知,不将ssh安装到容器中的唯一方法是通过docker exec-it bash 然而,对于您生成的每个bashshell进程,当您的连接被中断时,您会留下一个僵尸进程。如果你经常连接到你的容器,你最终会得到1000个空闲的shell——这是一个非常不理想的结果 如何确保这些僵尸外壳进程在断开连接时被杀死?就像通过ssh一样?一种方法是确

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

我将17.06-CE与ubuntu 16.04映像一起使用,据我所知,不将ssh安装到容器中的唯一方法是通过
docker exec-it bash

然而,对于您生成的每个bashshell进程,当您的连接被中断时,您会留下一个僵尸进程。如果你经常连接到你的容器,你最终会得到1000个空闲的shell——这是一个非常不理想的结果


如何确保这些僵尸外壳进程在断开连接时被杀死?就像通过ssh一样?

一种方法是确保linux
init
进程在容器中运行。 在docker的最新版本中,应该有一个
--init
docker run
来执行此操作。这用于运行
init
,也可在以前的版本中使用


另一个选项类似于提供具有此功能和许多其他功能的基本docker映像的项目(可能有些过分)。

一种方法是确保linux
init
进程在容器中运行。 在docker的最新版本中,应该有一个
--init
docker run
来执行此操作。这用于运行
init
,也可在以前的版本中使用

另一个选项类似于提供具有此功能和许多其他功能的基本docker映像的项目(可能有些过分)