与大多数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?
答案 0 :(得分:0)
一种方法是确保linux data = open('file.txt')
line = data.readline()
print(line)
进程在容器中运行。
在docker的最新版本中,有一个init
option到--init
应该执行此操作。这使用tini来运行docker run
,也可以在以前的版本中使用。
另一种选择类似于phusion-baseimage项目,它提供了具有此功能的基础泊坞窗图像以及许多其他功能(可能过度杀伤)。