docker容器运行后退出,怎么才能一直运行
1个回答
2017-06-06
展开全部
运行多进程Docker容器的方法如下:1、使用Shell脚本依次启动Kubernetes的各个组件即可。以下为start-kubernetes.sh2、然后在Dockerfile中,将start-kubernetes.sh指定为Docker容器默认执行的命令即可。3、需要注意的一点在于,start-kubernetes.sh脚本将作为Docker容器的1号进程运行,必须始终保持运行。因为Docker容器仅在1号进程运行时保持运行,换言之,Docker容器将在1号进程退出后Exited。由于Kubernetes的各个组件都以后台进程方式执行,在脚本末尾添加了死循环,以保持start-kubernetes.sh脚本始终处于运行状态。4、Supervisor是进程管理工具。这时,需要编写supervisor的配置文件kubernetes.conf:5、将Kubernetes的各个组件的启动命令设为command即可。autorestart参数设为true,意味着supervisor将负责重启意外退出的组件。stdout_logfile和stderr_logfile参数则可以用于设置命令的标准输出文件和标准错误输出文件。6、然后在Dockerfile中,将supervisord指定为Docker容器默认执行的命令即可:7、此时,supervisord是Docker容器中的1号进程,也需要始终保持运行状态。nodaemon设为true时,表示supervisor保持前台运行而非在后台运行。若supervisor在后台运行,则Docker容器也会在执行supervisord命令后立即Exited.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询