Docker容器挂掉后怎么实现自动重启? --- 2022-03-20

在我们使用docker的过程当中,会遇到容器意外退出的时候,像是我的阿里云服务器总共内存2g,但是我里面装了mysql、redis、SpringBoot应用还有一些针对这些的监控,简直已经把服务器利用满了,遇到过很多次mysql因为内存挂掉的情况,通常遇到这种情况我都是手动的重启docker start。后来就是研究了下,发现docker是可以支持容器意外退出后自动重启的。

1.重启参数介绍:


image.png

重启 策略

--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 }}"  容器

你可能感兴趣的:(Docker容器挂掉后怎么实现自动重启? --- 2022-03-20)