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 ......"期间没有.
刚刚启动服务器是不够的.当CMD退出时,容器也会退出.因此,如果您启动一个守护进程的服务,您需要保持您的进程活着.这可以通过例如拖尾服务日志文件来实现.supervisord是另一种运行进程并保持CMD活跃的方法.
例如,你可能会这样做
CMD /test.py && tail -F /var/log/zookeeper.log
Run Code Online (Sandbox Code Playgroud)
从命令行运行你可以做类似的事情
docker run -t -i -v /root/test.py:/test.py zookeeper bash -c "python test.py && tail -F /var/log/zookeeper.log"
Run Code Online (Sandbox Code Playgroud)