2015-02-07 32 views
2

如果在命令行或CMD中指定了简单的运行命令,则程序退出时容器将停止。但是,如果:码头集装箱什么时候停止?

  • 该程序产生新进程,然后退出?

  • 'exec'在命令行中使用,那么第一条命令会退出?

您能否也请指出文档?

谢谢!

回答

5

当您执行docker run时您运行的进程将是PID为1的进程(位于容器的进程名称空间内)。这个过程在UNIX/Linux系统中是特殊的,它是负责“采用”任何“孤立”过程的过程。如果这个过程结束,所有的过程也会结束。因此,如果回答您的问题,如果此初始过程(在docker run中执行的过程)结束,您容器中的所有过程也将结束。我还没有找到任何与此相关的官方文档,但有一个很好的post from phusion讨论这个话题。