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

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

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

该命令成功,但立即退出启动容器。 我不能用“docker start container id”启动容器。

手动运行“python test.py”在容器内部是成功的,但在“docker run ….”

仅仅启动服务器是不够的。 当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"