架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 8366|回复: 2

Docker 查看容器 restart 设置和批量停止容器

[复制链接]
发表于 2021-10-29 13:57:51 | 显示全部楼层 |阅读模式
Docker --restart 容器的重启策略如下:

no,默认策略,在容器退出时不重启容器
on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

查看容器 restart 设置命令:

QQ截图20211029125844.jpg

修改容器 restart 策略,命令如下:


批量停止容器命令如下:

(完)





上一篇:Spring 覆盖 jar 包内的默认配置
下一篇:Java ThreadLocal 原理和多线程重用导致数据混乱
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2021-11-7 22:04:34 | 显示全部楼层
unless-stopped 和 always 基本一样,只有一个场景 unless-stopped有点特殊:

如果容器正常stopped,然后机器重启或docker服务重启,这种情况下容器将不会被restart
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-9-4 22:22:38 | 显示全部楼层
Docker 容器的 --restart 标志用于定义容器的重启策略。--restart=unless-stopped 和 --restart=always 这两个选项有一些细微但重要的区别:

--restart=always:

  • 容器将始终尝试重启,无论它是如何停止的。
  • 如果容器崩溃,它会自动重启。
  • 如果Docker守护进程重启,容器也会自动启动。
  • 即使容器被手动停止(如使用 docker stop 命令),当Docker守护进程重启时,它也会重新启动。

--restart=unless-stopped:

  • 容器会在崩溃时自动重启。
  • 如果Docker守护进程重启,容器也会自动启动。
  • 关键区别:如果容器被手动停止(如使用 docker stop 命令),它不会在Docker守护进程重启时自动启动。


主要区别总结:

always 策略会在所有情况下尝试重启容器,包括手动停止后。
unless-stopped 策略尊重手动停止的决定,不会在手动停止后自动重启容器。

选择建议:

如果您希望容器始终运行,无论发生什么,选择 always。
如果您希望能够手动停止容器并保持停止状态,即使在Docker重启后,选择 unless-stopped。
这个选择对于管理和维护容器很重要,特别是在需要临时停止某些服务或进行维护时。unless-stopped 通常被认为是更灵活的选项,因为它允许管理员在需要时手动控制容器的状态。

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-6-16 06:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表