使用重启策略
官方文档:https://docs.docker.com/config/containers/start-containers-automatically/
如果想为容器配置重启策略,可以在 docker run
时使用 --restart
,可选值:
值 | 描述 |
---|---|
no | 不要自动重新启动容器。(默认值) |
on-failure | 如果容器因错误而退出,则重新启动容器,该错误表现为非 0 退出代码 |
always | 总是重启,即使服务器重启了,也会自动启动容器 |
unless-stopped | 与 always 类似,但是服务器重启了不会自动启动容器 |
使用示例
下面的例子启动一个 Redis 容器,并将其配置为始终重新启动:
$ docker run -d --restart always redis
如果容器启动时没有设置 --restart
参数怎么办,没关系,可以用 docker update
更新容器的 --restart
值:
$ docker update --restart always 容器id
如果觉得单个容器更新比较麻烦,还可以批量更新所有正在运行的容器:
$ docker update --restart always $(docker ps -q)
查看重启策略是否配置成功:
$ docker inspect -f "{{.HostConfig.RestartPolicy.Name}}" 容器id
查看容器重启次数:
$ docker inspect -f "{{.RestartCount}}" 容器id
查看容器最后一次的启动时间:
$ docker inspect -f "{{.State.StartedAt}}" 容器id