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

在Docker中,如何停止所有正在运行的容器?

在 Docker 中停止所有正在运行的容器,有以下几种高效方法:

方法一:使用 docker stop + 子命令组合 (推荐)

docker stop $(docker ps -q)
  • 说明
    1. docker ps -q 获取所有运行中容器的 ID(安静模式,只输出 ID)
    2. $(...) 将结果作为参数传递给 docker stop
  • 特点:简洁高效,单行命令完成

方法二:使用 xargs 管道操作

docker ps -q | xargs docker stop
  • 说明
    • 通过管道将容器 ID 列表传递给 xargs
    • xargs 自动处理参数传递
  • 优势:避免参数列表过长的问题,适合大量容器

方法三:使用 Docker 内置过滤功能

docker container stop $(docker container ls -q)
  • 说明
    • docker container ls -q 获取运行中容器 ID
    • 使用 Docker 推荐的容器管理子命令
  • 最佳实践:官方推荐格式,语义清晰

方法四:停止特定容器(扩展场景)

# 停止所有标签为 "temp" 的容器
docker stop $(docker ps -q --filter "label=temp")# 停止所有名称包含 "web" 的容器
docker stop $(docker ps -q --filter "name=web")

关键参数解析

命令/参数 作用
docker ps -q 只输出运行中容器的 ID
docker stop 优雅停止容器(发送 SIGTERM)
xargs 将输入转换为命令参数
-q/--quiet 只显示容器 ID
--filter 按条件过滤容器

注意事项

  1. 优雅停止docker stop 会给容器内进程发送 SIGTERM 信号,允许进程优雅退出(默认 10 秒超时后强制停止)
  2. 强制停止:如需立即停止,改用 docker kill 命令(发送 SIGKILL)
    docker kill $(docker ps -q)
    
  3. 状态验证:停止后可用 docker ps -a 查看容器状态
  4. 批量操作风险:生产环境谨慎使用,避免误停重要服务

💡 最佳实践:日常开发推荐方法一 docker stop $(docker ps -q),服务器维护推荐方法二避免参数过长问题。

http://www.sczhlp.com/news/1917/

相关文章:

  • 在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
  • 莫反推式子trick
  • 在Docker中,如何更改Docker的默认存储设置?
  • 在Docker中,如何批量清理后台停止的容器?
  • 基于Redisson和自定义注解的分布式锁
  • server - 陈飞
  • 【NCS随笔】如何在hello_world添加蓝牙功能(一)
  • Java基础语法学习 ———— Day2
  • system - 陈飞
  • 在Docker中,很多应用容器都是默认后台运行的,怎么查看它们的输出和日志信息?
  • 7.30总结
  • postman中params参数和body参数区别
  • 20240730-33
  • Selenium 原理与安装
  • kettle同步实践 - 陈飞
  • 计算机视觉的未来方向:无监督学习与生成模型
  • 环形缓冲区算法实现保底概率
  • 白名单实现 - Charlie
  • 数论分块1
  • 阿里小号停止续费,10 月底下架 App;音频技术公司 Bragi 联合 OpenAI 为第三方耳机引入 GPT 语音助手丨日报
  • utf8umb3和utf8umb4的区别 - Charlie
  • 企业微信如何查看corpid/corpsecret
  • 2024 ICPC ShaanXi Provincial Contest
  • 关于我的中考, 我想明白了.
  • NCS怎么添加.c.h文件到工程
  • ABAP实现后台JOB
  • 【NCS随笔】NCS使用CJSON库
  • 今天
  • 21
  • 网络编程