在我们使用docker的过程当中,会遇到容器意外退出的时候,像是我的阿里云服务器总共内存2g,但是我里面装了mysql、redis应用还有一些Servie,简直已经把服务器利用满了,遇到过很多次mysql因为内存挂掉的情况,通常遇到这种情况我都是手动的重启docker start。后来就是研究了下,发现docker是可以支持容器意外退出后自动重启的。
重启 策略
--restart 策略
命令 作用 备注
no 默认策略,在容器退出时不重启容器
on-failure 在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3 在容器非正常退出时重启容器,最多重启3次
always 在容器退出时总是重启容器
unless-stopped 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
推荐使用unless-stopped 不显示的退出容器就会重启。
2.启动添加重启参数:
启动容器的时候添加重启参数和策略:
docker run -d --restart 策略 容器
举例:
docker run -d --restart unless-stopped tomcat
3.已经运行容器添加重启参数:
假如你docker run启动容器的时候并没有进行加入重启参数,那么就需要执行以下命令:
docker container update --restart=策略 容器名字
docker container update --restart=always mysql
4.查看容器启动参数和最后一次启动时间:
查看容器启动次数命令:
docker inspect -f "{{ .RestartCount }}" 容器
查看容器最后一次启动时间:
docker inspect -f "{{ .State.StartedAt }}" 容器
作者:一位先生_
链接:https://www.jianshu.com/p/bfd80119a3e1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。