Docker自动重启的机制

系统重启、Docker重启等都会造成运行的容器停止运行,不得不再把容器启动起来,但这实在是麻烦。实际上,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 可以增加次数限制,以防止无限重启:

sudo docker run --restart=on-failure:10 redis
原文链接:https://www.bailuze.com/6319.html,转载请注明出处。
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0