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),则不会自动启动容器,如果状态为 RestartingExited (x > 0) 则会自动重启容器。

always

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

unless-stopped

与always类似。但如果容器是手动停止的(通过 docker stopdocker 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
相关推荐
地衣君2 小时前
Hermes Docker 容器交互一些技巧
docker·hermes
陈聪.2 小时前
Docker 核心知识整理:从入门到企业级应用
运维·docker·容器
云原生指北2 小时前
Docker Sandboxes 的隔离例外:共享 Skills 与宿主机 MCP
运维·docker·ai·容器·agent
璃月听书人2 小时前
没有 Kubernetes,我用 700 行 Bash 实现了 Docker Compose 零停机平滑发布
docker
用户6919026813394 小时前
Docker基本概念
后端·docker·容器
江湖有缘4 小时前
从零搭建私有云相册:使用 Docker 一键部署 Damselfly全攻略
运维·docker·容器
摇滚侠5 小时前
《Docker技术入门与实战 第4版》阅读笔记 6 使用 Dockerfile 创建镜像 2
java·笔记·docker
艾伦_耶格宇15 小时前
【DOCKER进阶】-3 cgroups
docker·容器·eureka
core51221 小时前
如何从多架构 Docker 镜像中导出指定的 ARM64 版本
华为·docker·架构·镜像·导出·多架构
雪碧聊技术21 小时前
使用Docker,将fastApi项目部署到linux服务器
服务器·docker·fastapi·docker部署fastapi