当前位置: 首页 > news >正文

Docker 快速更改容器的重启策略(Restart Policies)以及重启策略详解

目录

  • 1. 使用 docker update 命令
  • 2. 在启动容器时指定重启策略
  • 3. 在 Docker Compose 文件中指定重启策略
  • 4. 总结

官方文档:Start containers automatically

1. 使用 docker update 命令

Docker 提供了 docker update 命令,可以在容器运行时更改其重启策略。命令如下:

docker update --restart=always <container_xxx>

其中,<container_xxx> 是想要修改的容器的 ID 或名称

重启策略的选项包括:

  • no:不会自动重启容器,默认值。

  • on-failure:仅在容器以非零退出状态停止时重启,如果守护进程重新启动,它不会重新启动容器。

    on-failure[:max-retries] :使用 :max-retries 选项限制 Docker 守护进程尝试重新启动容器的次数。

  • unless-stopped:无论退出状态如何,都会自动重启容器,除非它是手动停止的

  • always:无论退出状态如何,都会自动重启容器。

👉 例如,要将容器的重启策略设置为 unless-stopped,可以使用以下命令:

docker update --restart=unless-stopped <container_xxx>

👉 要将容器的重启策略设置为 on-failure并最大重试 3 次,可以使用以下命令:

docker update --restart=on-failure:3 <container_xxx>

2. 在启动容器时指定重启策略

适用于新建容器。

在使用 docker run 启动容器时,可以通过 --restart 标志来指定重启策略。

👉 例如,其重启策略设置为 always

docker run -d --restart=always --name my_container my_image

这会启动一个名为 my_container 的容器,并将其重启策略设置为 always

👉 设置 on-failure 最大次数:

docker run -d --restart=on-failure:5 --name my_container my_image

3. 在 Docker Compose 文件中指定重启策略

如果使用 Docker Compose 来管理容器,可以在 docker-compose.yml 文件中指定重启策略。

👉 例如,将重启策略设置为 always

version: '3'
services:my_service:image: my_imagerestart: always

然后通过以下命令启动或更新服务:

docker-compose up -d

👉 将重启策略设置为 on-failure,并设置最大尝试次数(有些特殊,因为有参数):

version: '3.8'
services:my_service:image: my_imagerestart: on-failuredeploy:restart_policy:condition: on-failuremax_attempts: 3  # 最大尝试三次

4. 总结

这三种方式适用于不同的场景,根据实际需要选择使用。
在这里插入图片描述

http://www.lryc.cn/news/361476.html

相关文章:

  • docker 启动关闭,设置仓库地址
  • 二叉树的链式结构实现
  • MySQL远程连接
  • 奔驰大G升级电动踏板效果
  • 【xilinx】vivado中的xpm_cdc_gray.tcl的用途
  • windows中安装zookeeper
  • 直接写和放在函数中不同的R语言用法
  • 《mysql轻松学习·二》
  • Swift对比版本号
  • MySQL数据表的“增删查改“
  • Github查询语法
  • pqgrid的使用
  • 媳妇面试了一家公司,期望月薪20K,对方没多问就答应了,只要求3天内到岗,可我总觉得哪里不对劲。
  • 【Makefile笔记】小白入门篇
  • 快速入门文件操作+5种例子演示
  • 基于Vue3的Uniapp实训项目|一家鲜花店
  • Python3 字典
  • JPA详解
  • Linux线程:线程分离
  • chatgpt之api的调用问题
  • Java中lambda表达式是啥怎么使用
  • selenium中, quit 和close的区别
  • 管易云和金蝶云星空接口打通对接实战
  • DP-Kmaens密度峰值聚类算法
  • STM32-14-FSMC_LCD
  • linux nohup命令详解:持久运行命令,无视终端退出
  • PS系统教程09
  • 2024089期传足14场胜负前瞻
  • 备战十一届大唐杯国赛预选赛
  • 安装 Android Studio 2024.1.1.6(Koala SDK35)和过程问题解决