使用重启策略

官方文档:https://docs.docker.com/config/containers/start-containers-automatically/
如果想为容器配置重启策略,可以在 docker run 时使用 --restart,可选值:

描述
no 不要自动重新启动容器。(默认值)
on-failure 如果容器因错误而退出,则重新启动容器,该错误表现为非 0 退出代码
always 总是重启,即使服务器重启了,也会自动启动容器
unless-stopped always 类似,但是服务器重启了不会自动启动容器

使用示例

下面的例子启动一个 Redis 容器,并将其配置为始终重新启动:

  1. $ docker run -d --restart always redis

如果容器启动时没有设置 --restart 参数怎么办,没关系,可以用 docker update 更新容器的 --restart 值:

  1. $ docker update --restart always 容器id

如果觉得单个容器更新比较麻烦,还可以批量更新所有正在运行的容器:

  1. $ docker update --restart always $(docker ps -q)

查看重启策略是否配置成功:

  1. $ docker inspect -f "{{.HostConfig.RestartPolicy.Name}}" 容器id

查看容器重启次数:

  1. $ docker inspect -f "{{.RestartCount}}" 容器id

查看容器最后一次的启动时间:

  1. $ docker inspect -f "{{.State.StartedAt}}" 容器id