如果在命令行或CMD上指定了简单的运行命令,则程序退出时容器会停止。但是,如果:
该程序产生新进程,然后蚂蚁退出?
'exec'在命令行中使用,然后第一个命令退出?
你还可以指向文档吗?
谢谢!
答案 0 :(得分:6)
执行docker run
时运行的进程将是PID 1的进程(在容器的进程名称空间内)。这个过程在UNIX / Linux系统中很特殊,它是负责“采用”任何“孤立”过程的过程。如果此过程结束,则所有过程也将结束。
所以,回答你的问题,如果这个初始过程(在docker run
中执行的过程)结束,你容器内的所有进程也将结束。我没有找到任何与此相关的官方文档,但有一个很好的post from phusion讨论这个主题。