2015-02-07 56 views
2

如果在命令行或CMD中指定了簡單的運行命令,則程序退出時容器將停止。但是,如果:碼頭集裝箱什麼時候停止?

  • 該程序產生新進程,然後退出?

  • 'exec'在命令行中使用,那麼第一條命令會退出?

您能否也請指出文檔?

謝謝!

回答

5

當您執行docker run時您運行的進程將是PID爲1的進程(位於容器的進程名稱空間內)。這個過程在UNIX/Linux系統中是特殊的,它是負責「採用」任何「孤立」過程的過程。如果這個過程結束,所有的過程也會結束。因此,如果回答您的問題,如果此初始過程(在docker run中執行的過程)結束,您容器中的所有過程也將結束。我還沒有找到任何與此相關的官方文檔,但有一個很好的post from phusion討論這個話題。