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
相关推荐
风曦Kisaki13 小时前
#企业级docker私有仓库构建:harbor仓库与阿里云镜像仓库
阿里云·docker·容器
期待着201314 小时前
docker 安装 ,在centos7.9
运维·docker·容器
骑上单车去旅行16 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
spider_xcxc17 小时前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
java_logo17 小时前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset
zy happy17 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
IT瑞先生1 天前
docker-compose下快速部署实操——持续更新...
运维·docker·容器
爱码少年2 天前
Docker遍历镜像生成导出镜像命令六法
docker·shell
BullSmall2 天前
Sonarqube9.9 docker 镜像启动后 conf 下的配置文件没有了
docker·容器·eureka
ruofu332 天前
wsl端是py312,但是项目是py311, 如何下载py311的依赖包(wheels)
python·docker