Docker容器在执行python脚本后崩溃

时间:2017-06-19 11:33:49

标签: docker cloudfoundry swisscomdev appcloud

在部署Python Docker容器并成功执行脚本后,容器在显示以下错误消息后崩溃并重新启动:

2017-06-19 13:22:49 [APP/PROC/WEB/0] OUT Exit status 0
2017-06-19 13:22:49 [CELL/0] OUT Exit status 0
2017-06-19 13:22:49 [CELL/0] OUT Destroying container
2017-06-19 13:22:49 [API/0] OUT Process has crashed with type: "web"
2017-06-19 13:22:49 [API/0] OUT App instance exited with guid 85e7922e-5a0c-4430-994a-324e5abc0c14 payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"2 error(s) occurred:\n\n* Codependent step exited\n* cancelled", "crash_count"=>1, "crash_timestamp"=>1497871369566402154, "version"=>"b9800e3a-b057-4cc5-b7e4-c01f9b3c6594"}

在本地执行相同的docker镜像不会引发任何错误。我执行的Python脚本正在执行一个简单的打印命令,我甚至为执行后发送到容器的SIGTERM信号实现了一个处理程序。

1 个答案:

答案 0 :(得分:3)

在CF中,应用程序不应该完成。但是如果你的脚本只打印一些东西,那么它之后会执行exit 0。因此,应用程序容器被停止,CF注册了"崩溃",然后将根据应用程序生命周期重新启动应用程序: https://docs.cloudfoundry.org/devguide/deploy-apps/app-lifecycle.html