【docker】--容器管理

容器重启

–restart` 参数选项及作用

重启策略

  • no:不重启(默认)。
  • on-failure:失败时重启(可限制次数)。
  • always:总是重启(除非手动停止)。
  • unless-stopped:总是重启,但手动停止后不再启动。
docker run --restart=<策略> <镜像>

docker run --restart no nginx
docker run --restart always nginx
docker run --restart unless-stopped nginx
docker run -id --name policy_on-failure --restart on-failure  nginx
docker run -id --name policy_on-failure2 --restart on-failure:2  nginx
参数值作用适用场景
no(默认)不自动重启,容器退出后保持停止状态临时测试或不需要自动恢复的任务
on-failure[:max-retries]仅在非 0 状态退出时重启(可设置最大重试次数)需要容错但避免无限重启的任务(如脚本任务)
always无论退出状态如何,总是重启(除非手动停止)长期运行的服务(如 Web 服务器、数据库)
unless-stopped总是重启,除非用户显式停止容器(重启 Docker 后仍生效)需要持久化运行的服务(类似 always,但更智能)

注意:
假如 on-failure不设置最大重启次数的话 就等效于always

在这里插入图片描述

对比 alwaysunless-stopped

场景alwaysunless-stopped
手动停止后 Docker 重启容器会重新启动不会重新启动
异常退出后总是重启总是重启
适用场景必须强制运行的服务允许手动停止的服务

如何查看容器的重启策略?

使用 docker inspect 查看:

# HostConfig
# 查看重启次数
docker inspect --format='{{.RestartCount}}' <容器名>
# 查看重启策略和 可最大重启次数
docker inspect --format='{{.HostConfig.RestartPolicy}}' <容器名>
# 查看重启策略
docker inspect --format='{{.HostConfig.RestartPolicy.Name}}' <容器名>
# 查看能最大重启次数
docker inspect --format='{{.HostConfig.RestartPolicy.MaximumRetryCount}}' <容器名>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值