Docker重启策略全对比:no、on-failure、always,哪种最适合生产环境?

Docker容器自动重启策略详解:从原理到生产环境最佳实践 在容器化部署中,应用的高可用性是保障业务连续性的核心需求。Docker通过内置的重启策略机制,为容器提供了基础的自愈能力,当容器进程意外退出时能够自动恢复运行。这一机制涉及Docker守护进程对容器生命周期的监控与管理,根据预设策略决定是否重新启动容器。从技术价值看,自动重启策略有效降低了因应用崩溃导致的服务中断风险,是实现服务高可用的重要基石。在实际应用场景中,针对Web服务、数据库、后台Worker等不同角色,需要匹配不同的重启策略,如always、on-failure或unless-stopped。本 阅读详情

第一章:Docker容器自动重启策略always的核心机制解析

Docker 的 restart 策略是保障容器高可用性的关键配置之一,其中 always 是最常用的策略之一。当容器因任何原因(包括手动停止、崩溃或宿主机重启)终止时,Docker 守护进程会自动将其重新启动,确保服务持续运行。

工作原理

always 策略由 Docker 守护进程监控容器生命周期实现。只要容器处于非运行状态,无论退出码为何值,守护进程都会尝试重启容器。这一行为独立于系统初始化系统(如 systemd),完全由 Docker 引擎控制。

配置方式

可通过 docker run 命令直接指定重启策略:
# 启动容器并设置 always 重启策略
docker run -d \
  --restart=always \
  --name my-nginx \
  nginx:latest
上述命令中,--restart=always 表示无论容器如何停止,Docker 都会自动重启它。 若使用 Docker Compose,可在 docker-compose.yml 中配置:
version: '3'
services:
  web:
    image: nginx
    restart: always

策略对比

不同重启策略适用场景各异,以下为常见策略对比:
策略触发条件适用场景
no从不重启调试或临时任务
on-failure仅在非零退出码时重启批处理作业
always任何退出都重启长期运行服务(如 Web 服务)
unless-stopped除非手动停止,否则始终重启生产环境常驻服务

注意事项

  • 即使宿主机重启,启用 always 策略的容器也会随 Docker 服务启动而恢复运行。
  • 若容器因资源不足频繁重启,可能引发“重启风暴”,建议结合日志分析根本原因。
  • docker stop 命令会覆盖 always 策略,容器不会自动重启,除非执行 docker start。

第二章:always策略的理论基础与工作原理

2.1 always重启策略的定义与触发条件

always 重启策略是容器编排系统中一种强制性重启机制,确保容器在任何退出状态下都会被自动重启。该策略不区分退出原因,无论容器是正常退出还是异常崩溃,都会触发重启流程。

触发条件详解
  • 容器进程主动退出(exit code 0)
  • 应用崩溃导致非零退出码
  • 系统资源中断或 OOM(内存溢出)
  • 宿主机重启后容器自动拉起
配置示例
version: '3'
services:
  web:
    image: nginx
    restart: always

上述 Docker Compose 配置中,restart: always 表示无论容器以何种状态退出,Docker 守护进程都会尝试重新启动该容器,保障服务持续可用。

2.2 Docker守护进程与容器生命周期的交互关系

Docker守护进程(dockerd)是容器生命周期管理的核心组件,负责接收客户端指令并协调容器的创建、启动、运行和终止。
生命周期关键阶段
  • 创建:守护进程解析镜像配置,生成容器元数据
  • 启动:通过runC调用系统调用创建隔离进程
  • 运行:持续监控容器状态并上报给客户端
  • 停止:发送信号并清理命名空间与资源
典型交互流程示例
docker run -d --name web nginx:alpine
# 客户端请求 → dockerd接收 → 镜像拉取/加载 → 容器初始化 → runC启动进程 → 返回容器ID
该命令触发守护进程完成从镜像加载到进程隔离的完整链路,最终在宿主机上运行一个独立的Nginx服务实例。

2.3 容器退出码对always策略的影响分析

当使用 restart: always 策略时,Docker 会无条件重启容器,无论其退出码为何值。这意味着即使容器因严重错误(如配置失败、代码异常退出)以非零状态码终止,Docker 守护进程仍会尝试重新启动。
典型退出码含义
  • 0:正常退出,容器完成任务后关闭
  • 1:通用错误,通常表示运行时异常
  • 137:被 SIGKILL 终止,常见于内存超限
  • 143:被 SIGTERM 正常终止
docker-compose 示例
version: '3'
services:
  app:
    image: myapp:v1
    restart: always
该配置下,无论容器因何原因退出(包括崩溃或手动停止),Docker 都将尝试重启。需注意:若程序存在不可恢复错误,可能导致“重启风暴”。建议结合日志监控与健康检查机制,避免无限循环重启问题。

2.4 系统启动时容器自动恢复的底层逻辑

当系统重启后,容器运行时需确保先前运行中的容器能自动恢复。这一过程由容器编排引擎与底层运行时协同完成。
恢复触发机制
系统启动时,容器d(如containerd)通过读取持久化元数据目录重建容器状态。这些数据在容器创建时已写入磁盘。

# 元数据存储路径示例
/var/lib/containerd/io.containerd.runtime.v1.linux/moby/<container-id>/config.json
该配置文件记录了容器的镜像、挂载点、网络设置等关键信息,是恢复的基础。
状态同步流程
容器d在启动阶段扫描所有容器目录,并比对实际运行状态与期望状态。若发现容器标记为“running”,则调用runc重新创建进程。
  • 加载config.json配置
  • 重建cgroup和命名空间
  • 调用runc run --bundle启动容器进程

2.5 always与其他重启策略的本质区别对比

在容器编排系统中,重启策略决定了容器异常退出后的处理方式。其中 always 策略具有独特的行为特征。
常见重启策略类型
  • no:从不重启容器
  • on-failure:仅当退出码非0时重启
  • always:无论退出原因,始终重启
  • unless-stopped:始终重启,除非被手动停止
核心行为差异
restart: always
该配置确保容器在宿主机重启后依然自动启动,而 on-failure 不具备此能力。关键区别在于:always 关注运行状态持续性,而 on-failure 仅响应错误退出。
适用场景对比
策略自动恢复宿主重启后恢复
always✅✅
on-failure✅❌

第三章:always策略在生产环境中的典型应用场景

3.1 高可用服务部署中的持续运行保障

在高可用服务架构中,保障系统持续运行是核心目标之一。通过多节点冗余部署与自动故障转移机制,确保单点故障不会中断整体服务。
健康检查与服务发现
服务实例需定期上报心跳,注册中心依据健康状态动态更新路由列表。Kubernetes 中可通过 liveness 和 readiness 探针实现:

livenessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 30
  periodSeconds: 10
上述配置表示容器启动后 30 秒开始,每 10 秒发起一次健康检查,若失败则重启实例。
容错与熔断策略
使用熔断器模式防止级联故障。例如在 Go 服务中集成 hystrix-go:
  • 请求超时控制:避免长时间挂起
  • 错误率阈值触发熔断
  • 自动半开试探恢复后端服务

3.2 服务器意外宕机后的快速自愈能力

在分布式系统中,服务器意外宕机是不可避免的故障场景。为保障服务连续性,系统需具备快速自愈能力,实现故障检测、自动恢复与状态同步。
健康检查与故障探测
通过心跳机制定期检测节点状态。若连续三次未收到响应,则标记节点为不可用,并触发服务迁移流程。
自动故障转移流程
  • 监控系统发现主节点失联
  • 选举算法(如Raft)选出新主节点
  • 负载均衡器更新路由表,流量切换至备用节点
  • 原节点恢复后以从属角色重新加入集群
// 模拟健康检查逻辑
func HealthCheck(node string, timeout time.Duration) bool {
    ctx, cancel := context.WithTimeout(context.Background(), timeout)
    defer cancel()
    
    resp, err := http.GetContext(ctx, "http://"+node+"/health")
    return err == nil && resp.StatusCode == http.StatusOK
}
该函数在指定超时内请求节点健康接口,失败则返回false,供上层决策是否触发自愈流程。

3.3 与编排工具(如Kubernetes)协同使用的边界探讨

在容器化环境中,服务网格与Kubernetes的职责边界需清晰划分。Kubernetes负责Pod调度、服务发现和生命周期管理,而服务网格专注流量控制、安全通信与可观测性。
配置协同示例
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews-route
spec:
  hosts:
    - reviews
  http:
    - route:
        - destination:
            host: reviews
            subset: v1
该VirtualService依赖Kubernetes中已定义的Service(reviews)和Deployment(v1版本),Istio不替代K8s的服务注册机制,仅在其之上注入路由规则。
能力边界对比
能力Kubernetes服务网格
服务发现原生支持依赖K8s
负载均衡基础轮询高级策略(如按权重)

第四章:always策略的实践配置与运维优化

4.1 使用docker run命令启用always策略的完整示例

在容器化应用部署中,确保服务的高可用性至关重要。Docker 提供了重启策略(Restart Policy)机制,其中 always 策略可保证容器无论因何原因停止,都会被自动重启。
启动容器并设置always重启策略
通过 docker run 命令结合 --restart=always 参数,可实现容器的自动恢复:

docker run -d \
  --name nginx-web \
  --restart=always \
  -p 80:80 \
  nginx:latest
上述命令解析如下:
  • -d:后台运行容器;
  • --name nginx-web:指定容器名称;
  • --restart=always:无论退出状态如何,始终重启容器;
  • -p 80:80:映射主机80端口到容器;
  • nginx:latest:运行最新版 Nginx 镜像。
该策略适用于生产环境长期运行的服务,即使宿主机重启,容器也会随 Docker 守护进程自动启动。

4.2 在Docker Compose中配置restart: always的规范写法

在 Docker Compose 中,`restart: always` 是确保容器在异常退出或系统重启后自动恢复运行的关键配置。该策略适用于生产环境中需要高可用性的服务。
标准配置语法
version: '3.8'
services:
  web:
    image: nginx:latest
    restart: always
上述代码中,`restart: always` 表示无论容器因何原因停止,Docker 都会自动重启它。该值是 `restart` 的四种策略之一,其他包括 `no`、`on-failure` 和 `unless-stopped`。
常用重启策略对比
策略触发条件
no默认行为,不自动重启
always始终重启,包括 Docker 守护进程启动时
on-failure仅在非零退出码时重启(可选最大重试次数)
unless-stopped始终重启,除非被手动停止

4.3 监控与日志管理:避免无限重启带来的资源消耗

在容器化部署中,应用因异常频繁重启会导致CPU、内存等系统资源急剧上升,进而影响整个集群稳定性。有效的监控与日志管理机制是防止此类问题恶化的关键。
核心监控指标设置
应重点监控以下指标:
  • 容器重启次数(restart_count)
  • 资源使用率(CPU、内存、I/O)
  • 应用健康检查失败频率
日志采样与告警策略
通过限制日志输出频率和设置告警阈值,可避免日志风暴。例如,在Kubernetes中配置启动探针的延迟与重试限制:
livenessProbe:
  initialDelaySeconds: 30
  periodSeconds: 10
  failureThreshold: 3
startupProbe:
  failureThreshold: 30
  periodSeconds: 10
该配置确保容器有足够初始化时间,避免早期失败触发无限重启循环。failureThreshold限制连续失败次数,超出后停止重启,保留现场便于排查。
资源限制策略
资源类型建议限制值说明
CPU500m防止单实例占用过多调度资源
Memory512Mi避免OOM引发连锁重启

4.4 生产环境中启用always的注意事项与最佳实践

在生产环境中启用 `always` 模式时,需确保系统具备高可用与容错能力。该模式会强制指令始终执行,可能掩盖潜在异常,因此必须配合完善的监控与日志机制。
风险控制策略
  • 启用前进行全面回归测试,验证异常处理路径
  • 结合熔断机制,防止故障扩散
  • 设置细粒度权限控制,限制敏感操作的触发条件
配置示例与说明

execution:
  mode: always
  timeout: 30s
  retry-limit: 2
  audit-logging: true
上述配置中,timeout 防止任务无限阻塞,retry-limit 控制重试次数以避免雪崩,audit-logging 确保所有执行动作可追溯。
监控集成建议
指标采集频率告警阈值
执行成功率10s<95%
平均延迟15s>2s

第五章:结论——always是否真正适合你的生产环境?

性能与稳定性权衡
在高并发场景中,always 模式可能导致不必要的资源浪费。例如,在使用 Redis 缓存时,若每次请求都强制刷新缓存,会显著增加数据库负载:

// 不推荐:always 刷新缓存
func GetData(id string) (Data, error) {
    data, _ := cache.Get(id)
    dbData := queryFromDB(id)  // 总是查询数据库
    cache.Set(id, dbData)
    return dbData, nil
}
更优方案是结合 TTL 与条件更新策略,仅在数据变更时刷新。
实际部署案例分析
某电商平台在订单服务中曾采用 always 重试机制,导致支付回调接口在短暂网络抖动后触发多次重复处理。通过引入状态机判断:
  • 检查订单当前状态是否允许重试
  • 使用分布式锁避免并发冲突
  • 设置最大重试次数上限为3次
系统稳定性提升 68%,错误日志减少 73%。
适用场景对比表
场景推荐使用 always替代方案
配置中心拉取否长轮询 + 版本比对
任务调度重试有限制地使用指数退避 + 熔断机制
缓存穿透防护是布隆过滤器 + 空值缓存
架构设计建议
在微服务间通信中,应避免无条件的 always 调用远程接口。可通过引入事件驱动模型解耦依赖: Service A → 发布事件 → 消息队列 → Service B 异步处理 此模式降低耦合度,提升整体系统的弹性与可维护性。
手把手通过Docker部署前后端分离项目(亲测可用) Docker基本安装和部署Nginx、MySQL、Vue和SpringBoot项目学习笔记(亲测可用),这里我用的是阿里云的服务器,环境是CentOS7!分享一些自己在学习路上的一些笔记,欢迎大家共同交流与探讨! 阅读详情

相关推荐

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库)

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库) 日志记录 默认情况下,所有 Sysrepo 日志记录都处于关闭状态。如果启用,日志消息有 3 种输出。它们可以写入stderr、由 处理syslog或简单地传递给回调。 请务必注意,启用 Sysrepo 日志记录也会修改libyang日志记录设置。错误消息被视为标准 Sysrepo 错误,其他严重性较低的消息完全隐藏。要更改此行为,只需在启用 Sysrepo 日志记录后调整libyang日志记录设置。 此外,几乎每个 Sysrepo

weixin_43489394的博客 9226

docker重启参数--restart=always的作用

--restart=always参数能够使我们在重启docker时,自动启动相关容器。 Docker容器的重启策略如下: no,默认策略,在容器退出时不重启容器 on-failure,在容器非正常退出时(退出状态非0),才会重启容器 on-failure:3,在容器非正常退出时重启容器,最多重启3次 always,在容器退出时总是重启容器 unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器 参考:Docker容器的重启策略及docker run的

hyy 1万+

GAMES104:02引擎架构分层-学习笔记

用户层工具层(Tool Layer):编辑器、工具界面功能层(Function Layer):渲染Rendering、动画Animation、物理Physics、相机Camera和实现游戏性的脚本Script、状态机FSM、AI等功能模块资源层(Resource Layer):各类图片、动画、音频资源加载核心层(Core Layer):核心功能如内存管理、容器分配、数据计算、多线程处理等平台层(Platform Layer):对接不同游戏平台、主机和硬件。

噗噗噗的博客 1267

docker参数--restart=always

说明: 使用docker run命令创建容器时没有添加参数 --restart=always ,导致的后果是:当 Docker 重启时,容器未能自动启动。 # docker run -ti -p 9501:9501 --restart=always -v /data/nginx:/nginx:latest –restart=always : 开机启动,失败也会一直重启; –restart=on-failure:10 : 表示最多重启10次 docker run --restart具体参数值详细信.

耕耘 2万+

Cisco三层交换机的详细配置

** 本文适用于新手小白以及微微基础的同学来用于参考,实验是在Cisco Packet Tracer Student 进行,实验最终效果如图所示,所有命令配置与图中的一致。 使用到的机器型号为:五台电脑,一台服务器,三个普通交换机(2960型号),一个三层交换机(3560-24PS),两台普通服务器(2811) 文章目录一、什么是三层交换机二、配置交换机步骤1.配置二层交换机2.配置三层交换机3.配置两台路由器以及最后一台电脑 一、什么是三层交换机 1.三层交换机 = 三层路由+二层交换机 2.工作在

真正的大师,永远都怀着一颗学徒的心。 4万+

避坑指南:Windows11语言包安装后部分界面仍显示中文的终极解决方案

本文详细解析了Windows11语言包安装后部分界面仍显示中文的问题,提供了从基础到进阶的完整解决方案。通过PowerShell命令、注册表清理和系统文件检查等方法,帮助用户彻底解决语言显示不一致的问题,确保系统界面语言统一。

weixin_29232507的博客 1635

curl查看swift状态命令_微服务之——docker高级命令

微服务之——docker高级命令一.映射端口1.先下载 nginx 镜像[root@localhost ~]# docker pull nginx:1.12.21.12.2: Pulling from library/nginxf2aa67a397c4: Pull completee3eaf3d87fe0: Pull complete38cb13c1e4c9: Pull completeDiges...

weixin_39528289的博客 356

继电保护整定值计算软件_「全套69份」整定值计算与设计方案

【全套69份】整定值计算与设计方案,输电线路、变压器、发电机、电容器、母线保护等下载方式见文末内容预览:10kV高压电机保护原理及整定计算35kV环网运行线路继电保护整定计算方案分析35KV以下继电保护及三段式电流保护整定计算110 kv电网计算机整定计算新方案220kV两相式电铁牵引站供电线路的短路故障计算及其保护整定原则分析220kV周潮线接地距离保护整定计算特殊方案750 kV变压器保护配置...

weixin_30825953的博客 5013

always、on-failure、no、unless-stopped区别何在?,一文搞懂Docker Compose重启条件

掌握Docker Compose重启条件选择难题,详解always、on-failure、no、unless-stopped的适用场景与核心差异。清晰对比各策略在服务容错、容器管理中的优势,帮你构建稳定可靠的容器化应用,值得收藏。

ByteShoal的博客 1496

SAP 集成泛微 OA Open API 新建流程申请接口

《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3555

[QMT量化交易小白入门]-三十五、如何将聚宽策略信号转为QMT实盘交易

Flask是一个轻量级的Web应用框架,它提供了简单而灵活的方式来构建Web应用程序。在本案例中,将使用Flask来搭建一个本地服务,用于监听来自jq2qmt.py脚本的交易信号,并根据信号执行相应的下单操作。

木头大左的博客 2692

Docker Compose重启条件揭秘:如何选择always、no、on-failure、unless-stopped?

掌握Docker Compose重启条件配置技巧,轻松实现容器高可用。详解always、no、on-failure、unless-stopped的适用场景与核心区别,帮助你精准控制服务重启行为,提升运维效率。配置灵活可靠,值得收藏。

IterLoom的博客 1095

自注意力机制(SelfAttention Mechanism)原理与代码实战案例讲解

自注意力机制(Self-Attention Mechanism)原理与代码实战案例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍

AI天才研究院 1290

终极Docker容器重启策略指南:always、on-failure与unless-stopped详解

🚀 **docker-stacks容器重启策略**是确保Jupyter应用稳定运行的关键配置。无论你是数据科学家、开发者还是运维人员,掌握正确的重启策略都能让你的工作流程更加顺畅可靠。本文将为你详细解析always、on-failure与unless-stopped三种策略的差异与应用场景。 ## 🔍 为什么需要容器重启策略? 在docker-stacks项目中,容器重启策略能够自动处理各

gitblog_00875的博客 1162

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

always、on-failure、no、unless-stopped区别揭秘,你真的懂Docker Compose重启机制吗?

掌握Docker Compose的重启条件,轻松管理容器生命周期。详解always、on-failure、no、unless-stopped的适用场景与核心差异,帮助你精准控制服务启停策略,提升部署稳定性。运维必看,值得收藏

PoliVein的博客 920

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Docker生产环境必备技能】:掌握always重启策略,实现服务7x24小时不间断运行

解决服务中断难题,掌握Docker容器自动重启策略always,确保应用7x24小时稳定运行。适用于生产环境异常恢复,配置简单,重启可靠,有效提升系统可用性。值得收藏的运维必备技能。

GatherLume的博客 1086

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【Docker Compose重启策略深度解析】:on-failure到底何时触发?

掌握Docker Compose服务重启策略on-failure触发机制,精准应对容器异常退出。详解on-failure适用场景、重试次数设置及与exit code的关联逻辑,提升服务稳定性。运维优化必读,值得收藏。

CompiWander的博客 725

Docker Compose重启机制详解:生产环境中90%的人都配错了

掌握Docker Compose重启条件配置技巧,避免生产环境服务异常。详解restart参数的always、on-failure等策略适用场景,解析常见配置误区及最佳实践,提升容器稳定性与恢复能力,值得收藏。

QuickCode的博客 911

【docker】Docker容器的重启策略

文章目录1. Docker容器的重启策略2. Docker容器的退出状态码不同操作,对应容器的状态 1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略。 Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关。 Docker容器的重启策略如下: no,默认策略,在容器退出时不重启容器 on-failure,在容器非正常退出时(退出状态非0),才会重启容器 on-failure:3,指定启动的次数,在容器非正常退

m0_45406092的博客 2万+

Docker 容器重启策略详解:always / unless-stopped / on-failure 怎么选

服务器重启后容器没跟着起来、容器崩了没人拉、或者反过来——你明明 docker stop 了它却又自己活过来。这三个现象背后都是同一个配置在起作用:重启策略(restart policy)。很多人图省事一律写 restart: always,结果在"手动停止后宿主机重启,容器又自己跑起来"这种场景踩坑。这篇把四种策略的行为差异讲透,给出一张行为对照表和选型建议。

qq_33290228的博客 537

Docker学习之docker重启参数--restart=always的作用

restart=always参数能够使我们在重启docker时,自动启动相关容器。Docker容器的重启策略如下:no,默认策略,在容器退出时不重启容器on-failure,在容器非正常退出时(退出状态非0),才会重启容器on-failure:3,在容器非正常退出时重启容器,最多重启3次always,在容器退出时总是重启容器unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器。

tianyi520jx的博客 7477

on-failure重启策略详解,彻底搞懂Docker容器异常退出后的恢复逻辑

掌握Docker容器异常退出后自动恢复方法,详解Docker Compose服务重启策略on-failure适用场景与配置技巧,仅在失败时重启避免无限循环,提升服务稳定性。运维优化必看,值得收藏。

CodeVibe的博客 1295

docker容器的重启策略

docker的容器运行后并不会是永远就运行了,和宿主机的资源分配等等都有关系,各种意外会导致容器意外退出,手动重启容器肯定是非常愚蠢的一件事情。那么,我们是应该有一套针对容器意外退出的补救策略了(也就是重启策略)。 一,容器的重启策略具体内容 Docker容器的重启策略如下: no,默认策略,在容器退出时不重启容器---------任何时候都不重启容器(可以理解为躺平策略)。 on-failure,在容器非正常退出时(退出状态非0),才会重启容器,------退出状态码非0的时候重启,直到状态码为0为

zsk_john的技术分享专用博客 1万+

Docker 自动重启容器

使用方法: docker container update --restart=always 容器名字 docker run --restart=always --name ng_test-d nginx//无论容器退出代码是什么,docker 都会自动重启容器 限制重启次数:--restart=on-failure:5 ,当容器退出代码不为0时,最多重启5次. ...

清风扬 9378

【Docker Compose重启策略全解析】:掌握4种重启条件的精准应用场景

掌握Docker Compose的4种重启策略,精准应对服务异常与部署需求。详解每种Docker Compose的重启条件适用场景、触发机制及配置方法,提升容器稳定性与自动化能力,运维优化必看,值得收藏。

PixelStream的博客 872
上一篇: Docker网络核心机制全解析(从link到自定义网络的演进之路)
下一篇: 揭秘Docker镜像拉取失败真相:5步搞定代理配置难题
MessyInk
博客等级 码龄11年 136粉丝 1992原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值