需要做个监控,有时候站点死了,容器不死,那服务是不会重启的,这个时候就靠监控去做逻辑上的判断,运行一下脚本,stop 容器,让服务自动跑一个新的容器。 带站点的容器最好自定义镜像,让容器运行起来的时候,站点也运行。
重启挂掉的docker容器的命令
docker restart $(docker ps -a -q)
如果一台服务器上的docker daemon挂掉后,docker会在docker daemon 启动的时候,将container的进程进行一次判别。如果进程还在,也就是running的,会将其kill调。
根据技术人员对docker源码的理解,docker不放心其他进程来管理。它一定要亲自管理这些容器,它是所有容器的父进程。这样有很多好处。最大的好处就是实时监控,一旦容器挂了,它立即可以知道,并重启(如果容器设置了restart=always的话)。
当然,如果设置为restart=always,在daemon启动的时候,会自动将该容器启动。但是如果该容器进程还在,docker的流程依然会是kill掉进程,然后启动一个新的容器进程。以保证所有的容器进程仍然是daemon的子进程。
西部数码的容器云产品是基于docker技术实现,拥有上万Linux镜像,灵活强大,可弹性扩展,自由轻松搭建私有网络,可做集群服务。性价比高,容器云产品购买链接 https://www.west.cn/paas/container/