南瓜慢说官方网站

  • 首页
  • 所有文章
  • 容器技术
  • SpringBoot-Cloud
  • 程序人生
  • 其它
  • 整理
  • 关于

  • 搜索
中间件 config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac 计划 Stream MongoDB Spring DevOps JVM String Map Set List 性能 Email Springboot 集合类 ArrayList Java
技术之前,先读诗书:

打不死的小强,让Docker的容器自动重启

发表于 2020-07-21 | 分类于 容器技术 | 0 | 阅读次数 514

问题

系统重启、Docker重启等都会造成运行的容器停止运行,不得不再把容器启动起来,但这实在是麻烦。实际上,Docker提供了自动重启的机制。

解决方案

在启动容器时,只要加上参数--restart=always就可以实现自动重启了,如下:

$ docker run --restart=always 

Docker提供的重启策略不只是always,有如下:

策略描述
no默认值,不会自动重启。
on-failure因为错误退出就会重启,错误退出指非0退出码。
always停止就会重启。如果是手工停止,则在Docker daemon或容器本身重启时启动。
unless-stopped类似于 always,除了当容器被停止,它是不会重启的。

unless-stopped用法如下:

$ docker run -d --restart unless-stopped redis

对于已经在运行的容器

对于已经在运行的容器,而启动时又没有增加--restart参数,则可以通过update命令来增加:

$ docker update --restart=always xxx

对于on-failure的次数

对于策略on-failure可以增加次数限制,以防止无限重启:

$ sudo docker run --restart=on-failure:10 redis

参考文档

官方文档

How do I auto-start docker containers at system boot?

cnblogs-docker自动启动容器


欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

file

推荐阅读:
如何制定切实可行的计划并好好执行
容器技术(Docker-Kubernetes)
SpringBoot-Cloud相关
Https专题

  • 本文作者: 南瓜慢说
  • 本文链接: https://www.pkslow.com/archives/docker-container-auto-restart
  • 版权声明: 本博客所有文章除特别声明外,不可转载!
# 中间件 # config # Go # Private # Kubernetes # pkslow # Test # HTTPS # Redis # Docker # Mac # 计划 # Stream # MongoDB # Spring # DevOps # JVM # String # Map # Set # List # 性能 # Email # Springboot # 集合类 # ArrayList # Java
中间件 config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac 计划 Stream MongoDB Spring DevOps JVM String Map Set List 性能 Email Springboot 集合类 ArrayList Java
Dockerfile复制时如何保留子目录的结构
Springboot整合Swagger
  • 文章目录
  • 站点概览
南瓜慢说

南瓜慢说

多年Java开发,主要专注后端技术:Java/Spring/Springboot/微服务/大数据等。

多读书,多分享;多写作,多整理。

152 日志
7 分类
27 标签
RSS
0%
© 2020 — 2021 南瓜慢说 本站已挣扎运行:   粤ICP备20036375号