docker restart 策略

docker restart 策略

docker 有 4 中 restart 策略,在容器退出后 Docker daemon 是否重启容器:

no

不会自动重启容器。这是默认值。

on-failure:max-retries

如果容器的退出码非零,则重新启动该容器。可以通过可选的 max-retries 来限制尝试重启的次数,例如 docker run --restart=on-failure:10 redis,默认为无限制。

如果重启 Docker daemon 进程时 on-failure 容器的状态为 Exited (0),则不会自动启动容器,如果状态为 Restarting、Exited (x > 0) 则会自动重启容器。

always

总是重新启动容器。如果容器是手动停止的(通过 docker stop、docker kill),那么只有当 Docker daemon 重新启动,它才会重新启动。

unless-stopped

与always类似。但如果容器是手动停止的(通过 docker stop、docker kill),即使 Docker daemon 重新启动,也不会重新启动容器。

在每次重新启动之前会有延迟时间,初始值是 100ms,之后每次翻倍,直到达到最大值 1分钟。下图是执行 docker run --restart always -d redis --entrypoint exit 1 后的 docker events | grep "container start" 的输出,可以看出延迟时间的趋势基本符合前述的规律:

通过以下命令可查看容器的重启次数

shell 复制代码
docker inspect -f "{{ .RestartCount }}" my-container
2
相关推荐
wzg20161 小时前
ubuntu 离线安装 docker-compose
linux·ubuntu·docker
时间售卖铺1 小时前
Docker镜像构建全解析:从原理到实战优化
运维·docker·云原生·容器
jianjinwssy4 小时前
从零设计一个 Agent 安全沙箱:Docker 隔离、三级风控与 Kafka 审计
人工智能·docker·kafka
DarkAthena17 小时前
wslc ps 卡死的排查:一次「停容器不停 VM」引发的连环故障
docker
小沈同学呀19 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
lwx91485219 小时前
Docker-安装SSH服务
docker·容器·ssh
时间售卖铺1 天前
Docker实战:一键部署轻量级容器
运维·docker·云原生
tedcloud1231 天前
Docker Compose 部署 Uptime Kuma:配置 HTTPS、QQ 邮箱告警与数据备份
服务器·网络协议·ui·docker·容器·https·开源
syntaxsage1 天前
Dive:Docker 镜像层可视化分析工具
运维·其他·docker·容器
java_logo1 天前
Docker 部署 Samba:轻松搭建局域网文件共享
运维·docker·容器·文件共享·samba·smb·轩辕镜像