在我们使用docker的过程当中,会遇到容器意外退出的时候,像是我的阿里云服务器总共内存2g,但是我里面装了mysql、redis、SpringBoot应用还有一些针对这些的监控,简直已经把服务器利用满了,遇到过很多次mysql因为内存挂掉的情况,通常遇到这种情况我都是手动的重启docker start。后来就是研究了下,发现docker是可以支持容器意外退出后自动重启的。
#重启 策略
--restart 策略
命令 | 作用 | 备注 |
no | 默认策略,在容器退出时不重启容器 | |
on-failure | 在容器非正常退出时(退出状态非0),才会重启容器 | |
on-failure:3 | 在容器非正常退出时重启容器,最多重启3次 | |
always | 在容器退出时总是重启容器 | |
unless-stopped | 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器 |
推荐使用unless-stopped 不显示的退出容器就会重启。
启动容器的时候添加重启参数和策略:
docker run -d --restart 策略 容器
举例:
docker run -d --restart unless-stopped tomcat
假如你docker run启动容器的时候并没有进行加入重启参数,那么就需要执行以下命令:
docker container update --restart=策略 容器名字
docker container update --restart=always mysql
查看容器启动次数命令:
docker inspect -f "{{ .RestartCount }}" 容器
查看容器最后一次启动时间:
docker inspect -f "{{ .State.StartedAt }}" 容器
上面就是我认为的Docker的大杀器容器重启的方法总结,希望能帮助到用到的朋友,如果你想跟我交流,请关注我的公众号:Java时间屋
页面更新:2024-04-11
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号