目录

1 docker ps命令概述

1.1 命令定位与作用

1.2 命令基本语法

2 基础参数详解

2.1 默认输出解析

2.2 核心参数解析

2.2.1 -a, --all

2.2.2 -q, --quiet

2.2.3 --no-trunc

3 高级过滤与格式化

3.1 过滤器(--filter)详解

3.1.1 常用过滤条件

3.1.2 实际应用示例

3.2 格式化输出(--format)

3.2.1 常用占位符

3.2.2 使用示例

4 状态信息深度解析

4.1 容器状态机

4.2 状态字段详解

5 实用技巧与组合命令

5.1 查看容器大小

5.2 时间格式控制

5.3 与其他命令组合

5.3.1 批量停止容器

5.3.2 清理所有停止的容器

5.3.3 查看最新创建的容器

6 生产环境建议

6.1 监控建议

6.2 安全建议

6.3 性能优化

7 命令原理深度解析

7.1 Docker客户端-服务端交互

7.2 数据来源分析

8 总结


1 docker ps命令概述

1.1 命令定位与作用

  • docker ps是Docker容器管理中最基础且最常用的命令之一,它用于列出容器信息
  • 作为Docker管理员,80%的容器管理操作都会从docker ps开始,它提供了容器运行状态的全局视图

1.2 命令基本语法

docker ps [OPTIONS]

2 基础参数详解

2.1 默认输出解析

  • 不带任何参数执行时,docker ps显示正在运行的容器:
[root@node1 ~]# docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED        STATUS               PORTS                                                                     NAMES
f0762029c4aa   bitnami/kafka:3.6       "/opt/bitnami/script…"   2 months ago   Up 3 days (Paused)   0.0.0.0:9092->9092/tcp, :::9092->9092/tcp                                 kafka
d821a448f5b2   bitnami/zookeeper:3.8   "/opt/bitnami/script…"   2 months ago   Up 3 days            2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 8080/tcp   zookeeper
[root@node1 ~]# 
  • CONTAINER ID:容器唯一标识(前12位)
  • IMAGE:容器使用的镜像
  • COMMAND:容器启动命令
  • CREATED:创建时间
  • STATUS:运行状态
  • PORTS:端口映射
  • NAMES:容器名称

2.2 核心参数解析

2.2.1 -a, --all

  • 作用:显示所有容器(包括停止的)
  • 示例
docker ps -a
输出变化
  • 增加Exited状态的容器
  • 显示完整的生命周期视图

2.2.2 -q, --quiet

  • 作用:仅显示容器ID
使用场景
  • 批量操作容器时获取ID列表
  • 脚本编程中处理容器ID
  • 示例
docker ps -q

2.2.3 --no-trunc

  • 作用:显示完整信息(不截断)
  • 示例
docker ps --no-trunc
输出变化
  • 显示完整的CONTAINER ID(64字符)
  • 显示完整的COMMAND命令

3 高级过滤与格式化

3.1 过滤器(--filter)详解

Docker提供了强大的过滤系统,可以基于多种条件筛选容器。

3.1.1 常用过滤条件

3.1.2 实际应用示例

  • 查找所有退出的容器:
docker ps -a --filter "status=exited"
  • 查找基于ubuntu镜像的容器:
docker ps --filter "ancestor=ubuntu"
  • 查找带有特定标签的容器:
docker ps --filter "label=environment=production"

3.2 格式化输出(--format)

3.2.1 常用占位符

占位符

描述

.ID

容器ID

.Image

镜像名称

.Command

启动命令

.RunningFor

运行时长

.Status

状态信息

.Ports

端口映射

.Names

容器名称

.Labels

所有标签

.Label

特定标签

3.2.2 使用示例

  • 表格形式输出:
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
JSON格式输出:
docker ps --format '{{json .}}'
  • 自定义简洁输出:
docker ps --format "Container {{.ID}} is {{.Status}} ({{.Image}})"

4 状态信息深度解析

4.1 容器状态机

4.2 状态字段详解

  • Up [time]:运行中,显示持续时间
  • Exited ([code]):已退出,显示退出码
  • Created:已创建未启动
  • Restarting:重启中
  • Paused:已暂停
  • Dead:异常终止

5 实用技巧与组合命令

5.1 查看容器大小

docker ps -s

5.2 时间格式控制

  • 使用--format配合时间函数:
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.RunningFor}}\t{{.Status}}"
  • 自定义时间格式:
docker ps --format "{{.ID}} {{.CreatedAt}}"

5.3 与其他命令组合

5.3.1 批量停止容器

docker stop $(docker ps -aq)

5.3.2 清理所有停止的容器

docker rm $(docker ps -aq -f status=exited)

5.3.3 查看最新创建的容器

docker ps -n 3

6 生产环境建议

6.1 监控建议

  • 定期检查异常状态容器
docker ps -a --filter "status=exited" --filter "status=dead"
  • 监控重启次数过多的容器
docker ps -a --filter "status=restarting"

6.2 安全建议

  • 限制docker ps输出中的敏感信息
  • 使用标签标记生产环境容器
docker ps --filter "label=environment=production"
  • 定期审计容器状态变化

6.3 性能优化

  • 对大数量容器使用过滤条件
  • 在脚本中使用-q参数减少输出处理
  • 缓存频繁使用的查询结果

7 命令原理深度解析

7.1 Docker客户端-服务端交互

7.2 数据来源分析

docker ps 数据主要来自:
  • 容器元数据:/var/lib/docker/containers/
  • 运行时状态:通过containerd/api获取
  • 网络配置:从网络命名空间收集
  • 存储驱动:获取容器大小信息

8 总结

  • 基础查询:docker ps默认显示运行中容器
  • 全面视图:-a参数显示所有状态容器
  • 高效过滤:--filter实现精准筛选
  • 自定义输出:--format灵活控制显示格式
通过掌握docker ps及其各种参数组合,可以高效地管理和监控Docker容器,为后续的容器运维工作打下坚实基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/88789.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/88789.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/88789.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应急响应-感染Neshta病毒

病毒确定: 根据感染现象确定为Virus/Win32.Neshta家族病毒 病毒表现: 该病毒为感染式病毒。该病毒会在系统%SystemRoot%目录下释放svchost.com文件,并通过添加注册表的方式确保每个exe文件执行的时候都会先执行这个文件。该病毒还会收集系统信…

Hyperledger Fabric 入门笔记(二十)Fabric V2.5 测试网络进阶之Tape性能测试

文章目录 前言一、介绍二、架构三、安装说明四、使用方法4.1. 修改配置文件4.2. 启动测试网络4.3. 运行测试 前言 本文介绍由Hyperledger中国技术工作组提供的另一款区块链网络性能测试工具Tape的架构、安装和在Fabric测试网络中的使用。 一、介绍 Tape是一款轻量级的、可以快…

怎样在 VS Code 中快速创建 Vue 单文件组件(SFC)的基础模板结构?

问题 在Vue项目的开发中&#xff0c;我们经常遇到一个问题&#xff0c;创建新组件时要自己输入基本的框架&#xff0c;比如&#xff1a; <template><div class"page-box"></div> </template><script> export default {name: ,data()…

高防IP在服务器中的作用都有哪些?

高防IP作为一种通过技术手段让用户网络服务更加安全的一种IP地址&#xff0c;有着更高的防御能力&#xff0c;有着强大的流量清洗中心和防御系统&#xff0c;帮助企业实时监控网络流量&#xff0c;将恶意的用户请求识别并过滤掉&#xff0c;保护目标服务器不会受到网络攻击&…

实战 X-AnyLabeling:构建高效自动标注系统的工程实践

文章目录 一、项目背景与目标二、系统架构与模块划分2.1 模块组成说明2.2 架构图 三、模型封装与平台对接3.1 模型封装接口3.2 接入 X-AnyLabeling 平台 四、可视化与预测验证4.1 UI 预测标签预览 五、性能优化与工程经验5.1 模型加速与推理优化5.2 经验总结5.3 实际效果 本文将…

UC3842/UC3843反激教程教学开关电源 反激设计步骤,每一关键元器件计算

资料下载地址&#xff1a;UC3842/UC3843反激教程教学开关电源 反激设计步骤&#xff0c;每一关键元器件计算 1、原理图 2、PCB图 3、变压器设计资料 4、开关电源设计资料 5、主要元器件说明书 6、系统整体资料 7、说明文档 7.1、电源设计概述 电源规格&#xff1a;设计一款 2…

Docker 入门教程(二):Docker 的基本原理

文章目录 &#x1f433; Docker 入门教程&#xff08;二&#xff09;&#xff1a;Docker 的基本原理1. Docker 架构总览&#xff1a;三大核心角色2. 镜像与容器的关系3. 容器启动流程&#xff1a;docker run 背后发生了什么&#xff1f; &#x1f433; Docker 入门教程&#xf…

21.安卓逆向2-frida hook技术-HookOkHttp的拦截器

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 工具下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1bb8NhJc9eTuLzQr39lF55Q?pwdzy89 提取码&#xff1…

小程序入门:swpier 和 swpier-item 的基本使用

在前端开发中&#xff0c;创建交互式的用户界面组件是至关重要的。今天&#xff0c;我们将深入探讨 swpier 和 swpier-item 的基本使用方法&#xff0c;这两个组件在构建轮播图等滑动效果的场景中非常实用。 一、swpier 组件概述 swpier 组件是实现滑动效果的核心容器。它负责…

SQL学习笔记4

约束 1、约束 约束&#xff0c;是指作用在表中字段上的规则&#xff0c;用于限制字段输入的数据&#xff0c;使得表格式统一&#xff0c;数据内容正确。同一个字段的约束可以有多个 约束包括&#xff1a; 非空约束&#xff0c;限制表中的值不为null:not null 唯一约束&…

力扣刷题(第七十天)

灵感来源 - 保持更新&#xff0c;努力学习 - python脚本学习 比特位计数 解题思路 对于任意整数 x&#xff0c;其 1 的个数等于 x // 2 的 1 的个数加上 x % 2。状态转移方程&#xff1a;dp[x] dp[x // 2] (x % 2)。 class Solution:def countBits(self, n: int) ->…

鸿蒙网络编程系列56-仓颉版通过数据包结束标志解决TCP粘包问题

1. TCP粘包问题解决思路 在本系列的上一篇文章演示了TCP数据粘包的原因以及可能的解决方法&#xff0c;本文将通过其中的添加数据包结束标志的方法来解决这个问题。我们知道&#xff0c;数据粘包的原因是因为发送的时候没有标明数据包的边界&#xff0c;那么&#xff0c;我们人…

Redis网络通信模块深度解析:单线程Reactor到多线程IO的架构演进

一、核心架构&#xff1a;单线程Reactor模型 Redis网络模块采用经典Reactor模式&#xff0c;核心流程如下&#xff1a; void aeMain(aeEventLoop *eventLoop) {while (!eventLoop->stop) {// 前置钩子&#xff08;集群心跳/数据持久化&#xff09;if (eventLoop->befor…

PILCO: 基于模型的高效策略搜索方法原理解析

PILCO: 基于模型的高效策略搜索方法原理解析 PILCO (Probabilistic Inference for Learning Control) 是一种基于模型的强化学习算法&#xff0c;由Marc Deisenroth和Carl Rasmussen于2011年提出。该算法在数据效率方面表现出色&#xff0c;能够以极少的样本数据实现有效学习。…

大语言模型训练中的自监督学习和其他训练方式

大语言模型训练中的自监督学习和其他训练方式。 自监督学习&#xff08;Self-Supervised Learning&#xff09; 1. 什么是自监督学习&#xff1f; 自监督学习是一种不需要人工标注数据的训练方式&#xff0c;模型从数据本身学习特征和模式。 在语言模型中的具体实现&#x…

[mcp-servers] 工具与资源 | 模型上下文协议MCP | 锚点分类

第三章&#xff1a;工具与资源 欢迎回来&#xff01; 在之前的旅程中&#xff0c;我们认识了客户端&#xff08;第一章&#xff1a;客户端&#xff09;——AI的信使组件 以及MCP服务器&#xff08;第二章&#xff1a;MCP服务器&#xff09;——接收请求并具备执行能力的智能助…

2025年06月27日Github流行趋势

项目名称&#xff1a;edit 项目地址 url&#xff1a;https://github.com/microsoft/edit项目语言&#xff1a;Rust历史 star 数&#xff1a;10807今日 star 数&#xff1a;411项目维护者&#xff1a;lhecker, DHowett, b6k-dev, rhysd, MingcongBai项目简介&#xff1a;我们都编…

Camera Api 2 和 OPEN GL ES 使用(显示滤镜效果)

Camera Api 2 和 OPEN GL ES 使用&#xff08;显示滤镜效果&#xff09; 相机预览和open GL 使用实现滤镜效果 代码 https://github.com/loggerBill/camera 相机预览 1.相机动态权限 <uses-permission android:name"android.permission.CAMERA" /><uses-f…

CAS教务系统单点登录分析

1. 核心 URL 结构 GET /authserver/login?servicehttp%3A%2F%2F192.168.254.188%2Fjsxsd%2Fframework%2FxsMainV.htmlx认证服务器&#xff1a;authserver.XXXX.edu.cn&#xff08;典型 CAS 系统&#xff09;目标服务&#xff1a;http://192.168.254.188/jsxsd/framework/xsMa…

利用云雾自动化在智能无人水面航行器中实现自主碰撞检测和分类

大家觉得有读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 工业信息物理系统 &#xff08;ICPS&#xff09; 技术是推动海上自主化的基础&#xff0c;尤其是对于无人水面航行器 &#xff08;USV&#xff09;。然而&#xff0c;船上计算限制和通信延迟…