【发布时间】:2017-06-14 09:42:53
【问题描述】:
为了更深入地了解 Docker,我创建了一个执行 python 脚本的 dockerfile。它工作正常,但在执行脚本后容器崩溃。如何修改我的 dockerfile 以便在执行后销毁容器,而不是让容器一直崩溃并重新启动?
Dockerfile:
FROM python:3
ADD aa.py /
CMD [ "python", "./aa.py" ]
Python:
print('Hello!')
错误信息:
2017-06-14 11:37:09 [CELL/0] OUT Starting health monitoring of container
2017-06-14 11:37:09 [APP/PROC/WEB/0] OUT Hello!
2017-06-14 11:37:09 [APP/PROC/WEB/0] OUT Exit status 0
2017-06-14 11:37:09 [CELL/0] OUT Exit status 143
2017-06-14 11:37:09 [CELL/0] OUT Destroying container
2017-06-14 11:37:09 [API/0] OUT Process has crashed with type: "web"
2017-06-14 11:37:09 [API/0] OUT App instance exited with guid 6fdede46-6751-4725-ad78-b76262dbe701 payload: {"instance"=>"", "index"=>0, "reason"=>"CRASHED", "exit_description"=>"2 error(s) occurred:\n\n* 2 error(s) occurred:\n\n* Codependent step exited\n* cancelled\n* cancelled", "crash_count"=>4, "crash_timestamp"=>1497433029411246770, "version"=>"98e2a035-e38f-4169-95fb-2701c8486e9c"}
2017-06-14 11:37:09 [CELL/0] OUT Successfully destroyed container
2017-06-14 11:38:31 [CELL/0] OUT Creating container
【问题讨论】:
-
你是如何启动你的容器的?您可以使用
docker run --rm mypython,它将在执行脚本后删除您的容器。 -
我在 CloudFoundry 上使用 Docker。通过用户界面,我输入了一个 docker hub repo 并启动它。
-
我从未使用过 cloudfundry,所以无法帮助您。我怀疑它会因为 cf 尝试重新启动,因为仅在 docker 中,该容器将运行,显示消息并停止。
--rm选项将在运行后删除容器。我无法帮助您在 cf. 中重现此内容。
标签: python docker dockerfile docker-image