在python脚本执行后,docker容器立即退出

时间:2014-10-21 22:38:57

标签: python docker

在python脚本执行后立即退出docker容器:

docker run -t -i -v /root/test.py:/test.py zookeeper python test.py (test.py启动zookeeper服务)

命令成功但立即退出启动容器。我无法使用“docker start container id”启动容器。

手动运行“python test.py”在容器内成功,但在“docker run ....”中没有成功。

1 个答案:

答案 0 :(得分:6)

刚刚启动服务器是不够的。当CMD退出时,容器也会退出。因此,如果您启动一个守护进程的服务,您需要保持您的进程存活。这可以通过例如拖尾服务日志文件来实现。 supervisord是另一种运行进程并使CMD保持活跃的方式。

例如,您可以

CMD /test.py && tail -F /var/log/zookeeper.log

从命令行运行你可以做类似的事情

docker run -t -i -v /root/test.py:/test.py zookeeper bash -c "python test.py && tail -F /var/log/zookeeper.log"