【Docker学习】详细讲解docker ps

docker ps是我们操作容器次数最多的命令之一,但我们往往使用docker ps或是docker ps -a,对于该命令的其它选项,我们关注比较少。那么这一讲,我给大家详细讲讲该命令的全部方法。

命令:

docker container ls

描述:

列出容器。

用法:

docker container ls [OPTIONS]

别名:

docker ps、docker container ps、docker container list(docker的一些命令具有别名,这四种别名是等价的,都可以使用,建议使用最简短的docker ps)

选项:

选项描述
-a, –all显示所有容器(默认只显示正在运行的容器)
-f, –filter根据提供的条件过滤输出
–format使用自定义模板格式化输出: 
‘table’:以表格格式打印输出,包含列标题(默认) 
‘table TEMPLATE’:使用给定的 Go 模板以表格格式打印输出 
‘json’:以 JSON 格式打印 
‘TEMPLATE’:使用给定的 Go 模板打印输出。 
-n, –last显示最后创建的 n 个容器(包括所有状态),默认值-1
-l, –latest显示最新创建的容器(包括所有状态)
–no-trunc不要截断输出
-q, –quiet只显示容器ID
-s, –size显示总文件大小

示例1:默认命令docker ps

docker ps

输入命令之后,结果如下图所示:

可以看出,所有状态(STATUS)为Up的容器信息全部显示出来。Up状态代表运行中。

示例2:-a、–all选项

docker ps --all

命令加上–all选项,显示所有容器,包含所有状态的容器。

上图的结果显示,Exited状态的容器hardcore_benz也显示出来了。

示例3:-f, –filter选项

–filter(或 -f)标志的格式是键=值对。如果有多个过滤器,则传递多个标志(例如 –filter “foo=bar” –filter “bif=baz”)。
当前支持的过滤器有:

过滤器描述
id容器ID
name容器名称
label一个任意字符串,代表一个键或者一个键值对。表示为<key> 或 <key>=<value>。
exited一个整数,代表容器的退出码。仅在与 –all 选项一起使用时才有意义。
status其中一个状态为 created(已创建)、restarting(正在重启)、running(正在运行)、removing(正在移除)、paused(已暂停)、exited(已退出)或 dead(已死亡)。
ancestor筛选出共享给定镜像作为祖先的容器。表示为<image-name>[:<tag>]、<image id>或<image@digest>
before 或 since筛选在给定容器 ID 或名称之前或之后创建的容器
volume筛选挂载了给定卷或绑定挂载的正在运行的容器。
network筛选连接到给定网络的正在运行的容器。
publish 或 expose筛选发布或暴露给定端口的容器。表示为<port>[/<proto>]或<startport-endport>/[<proto>]
health根据容器的健康检查状态筛选容器。可能的状态有 starting(启动中)、healthy(健康)、unhealthy(不健康)或 none(无)。
isolation仅适用于 Windows 守护进程。值为 default、process 或 hyperv 之一。
is-task筛选作为服务“任务”的容器。布尔选项(true 或 false)。

这个选项因为需要很多附加条件,我只给出能直接看出效果的示例。

docker ps -f status=exited

这个选项只过滤出状态为exited(退出)的容器。

示例4:–format选项

该选项以适合自己的格式输出,其中按照Go模板的方式会涉及到以下占位符:

占位符描述
.ID容器ID
.Image镜像ID
.Command引用的命令
.CreatedAt容器创建的时间
.RunningFor自容器启动以来的经过时间。
.Ports暴露的端口。
.State容器状态(例如:”created”(已创建)、”running”(运行中)、”exited”(已退出))。
.Status容器状态,包括持续时间与健康状态的详细信息。
.Size容器磁盘大小
.Names容器名称
.Labels分配给容器的所有标签。
.Label此容器特定标签的值。例如 ‘{{.Label “com.docker.swarm.cpu”}}’
.Mounts在此容器中挂载的卷的名称。
.Networks连接到这个容器的网络的名称。

这个选项可以随便组合占位符,我每种类型只列举一个,剩下的由大家自己去玩。

docker ps  --format "table {{.Names}}\t{{.Size}}\t{{.Status}}"

这个以表格形式打印。

docker ps --format json

这个是json格式,看起来非常乱。

docker ps --format "{{.ID}}: {{.Command}} {{.RunningFor}}"

这是使用Go模板的方式打印。

示例5:-n, –last选项

docker ps -n 3

该选项后面必须加一个数字,否则会报错。该选项显示-n后面数字个容器,无论容器处于什么状态。

以下是我的阿里云上最后创建的3个容器。其中mymongo是退出状态,其它两个是运行状态。

示例6:-l, –latest选项

docker ps -l

该选项显示最新创建的容器,无论该容器处于什么状态。下面显示的是我刚刚停止的容器mymongo,使用-l选项,即便是Exited状态,也会显示。

示例7:–no-trunc选项

docker ps --no-trunc

执行该命令后,CONTAINER ID一列符号变长了。

示例8:-q, –quiet选项

docker ps -q

该选项只用来显示容器ID,想不到这个选项的实际作用,难道只是怕污了眼睛而过滤大量信息?

如图所示,只显示容器ID,并不能知道这一堆符号是什么容器。

该选项可以和–no-trunc连用,执行结果如下所示:

示例9:-s, –size选项

docker ps -s

加入该选项后,容器列表的最右侧增加SIZE列,显示两种不同的磁盘容量大小。

其中,前面的数字表示用于每个容器的可写层的磁盘数据量。 后面括号中“virtual” 表示的是容器使用的只读镜像数据以及可写层所用的磁盘空间总量。多个容器可能会共享一些或全部的只读镜像数据。从同一镜像启动的两个容器共享 100% 的只读数据,而具有共同层的不同镜像的两个容器则共享这些共同层。因此,不能简单地将虚拟大小相加。这可能会大大高估总磁盘使用量。

所有正在运行的容器在磁盘上使用的总磁盘空间是每个容器的 size 和 virtual size 值的组合。如果多个容器从完全相同的镜像启动,这些容器的总磁盘大小将是容器的总和(size of containers)加上一个镜像大小(virtual size – size)。

以上显示的磁盘空间占用情况,不包括以下五种方式:

  • 日志驱动程序存储的日志文件所占用的磁盘空间。如果容器生成大量日志数据并且没有配置日志轮换,这可能会相当可观。
  • 容器使用的卷和绑定挂载。
  • 用于容器的配置文件的磁盘空间,这些文件通常很小。
  • 写入磁盘的内存(如果启用了交换)。
  • 检查点,如果你使用实验性的检查点/恢复功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/650477.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

web题解,基础知识巩固(qsnctf)

1.文章管理系统 1&#xff09;打开题目&#xff0c;把它页面翻完了&#xff0c;没看懂它有啥用 2&#xff09;看了看源码&#xff0c;也是一样的&#xff0c;没找到有用的东西 3&#xff09;想着可能还是在隐藏文件里找&#xff0c;那我就直接用dirsearch扫扫看 4&#xff09;…

常见API(JDK7时间、JDK8时间、包装类、综合练习)

一、JDK7时间——Date 1、事件相关知识点 2、Date时间类 Data类是一个JDK写好的Javabean类&#xff0c;用来描述时间&#xff0c;精确到毫秒。 利用空参构造创建的对象&#xff0c;默认表示系统当前时间。 利用有参构造创建的对象&#xff0c;表示指定的时间。 练习——时间计…

Flink 数据源

原理 在 Flink 中&#xff0c;数据源&#xff08;Source&#xff09;是其中一个核心组件&#xff0c;负责从各种来源读取数据供 Flink 程序处理。 Flink 的数据源类型丰富&#xff0c;涵盖了从简单测试到生产环境使用的各种场景。Kafka、Socket、文件和集合是 Flink 中最常见…

Java后端面经

1.可重复读&#xff0c;已提交读&#xff0c;这两个隔离级别表现的现象是什么&#xff0c;区别是什么样的&#xff1f; 可重复读&#xff1a;表示整个事务看到的事务和开启后的事务能看到的数据是一致的&#xff0c;既然数据是一致的&#xff0c;所以不存在不可重复读。而且不…

【傻呱呱】VirtualHere共享局域网中的USB设备(使用Pavadan老毛子固件搭建篇)

前期准备 SSH工具&#xff08;FinalShell&#xff09;老毛子固件路由器一台 搭建VirtualHere服务端 进入VirtualHere官网下载对应处理器架构的包&#xff0c;我的是RT-N14U-GPIO路由器刷的老毛子固件&#xff0c;这种一般选择最后一个或者倒数第二个包&#xff0c;这里我选择…

[NOIP 2014] 寻找道路

[NOIP 2014] 寻找道路 在有向图 G 中&#xff0c;每条边的长度均为 11&#xff0c;现给定起点和终点&#xff0c;请你在图中找一条从起点到终点的路径&#xff0c;该路径满足以下条件&#xff1a; 路径上的所有点的出边所指向的点都直接或间接与终点连通。在满足条件 11 的情…

01Python相关基础学习

Python基础 模块相关导入模块sys模块 模块相关 导入模块 1. import 模块名 2. import 模块名 as 别名 3. from 模块名 import 成员名 as 别名sys模块 1. sys.argv 介绍: 实现从程序的外部想程序传递参数返回的是一个列表,第一个元素是程序文件名,第二个元素是程序外部传入的…

景源畅信:新手做抖音运营难不难?

在这个信息爆炸的时代&#xff0c;社交媒体平台如抖音已经成为了人们日常生活中不可或缺的一部分。随着抖音的兴起&#xff0c;越来越多的人开始尝试进入这个领域&#xff0c;希望通过抖音运营实现自己的价值。然而&#xff0c;对于新手来说&#xff0c;抖音运营是否真的容易呢…

网络安全等级保护2.0(等保)是什么

等保的全称是信息安全等级保护&#xff0c;是《网络安全法》规定的必须强制执行的&#xff0c;保障公民、社会、国家利益的重要工作。 通俗来讲就是&#xff1a;公司或者单位因为要用互联网&#xff0c;但是网上有坏人&#xff0c;我们不仅要防御外部坏人&#xff0c;还要看看…

我的世界开服保姆级教程

前言 Minecraft开服教程 如果你要和朋友联机时&#xff0c;可以选择的方法有这样几种&#xff1a; 局域网联机&#xff1a;优点&#xff1a;简单方便&#xff0c;在MC客户端里自带。缺点&#xff1a;必须在同一局域网内。 有些工具会带有联机功能&#xff1a;优点&#xff1a;一…

云原生Kubernetes: 云主机部署K8S 1.30版本 单Master架构

目录 一、实验 1.环境 2.Termius连接云主机 3.网络连通性与安全机制 4.云主机部署docker 5.云主机配置linux内核路由转发与网桥过滤 6.云主机部署cri-dockerd 7.云主机部署kubelet,kubeadm,kubectl 8.kubernetes集群初始化 9.容器网络&#xff08;CNI&#xff09;部署…

力扣刷题--LCR 075. 数组的相对排序【简单】

题目描述 给定两个数组&#xff0c;arr1 和 arr2&#xff0c; arr2 中的元素各不相同 arr2 中的每个元素都出现在 arr1 中 对 arr1 中的元素进行排序&#xff0c;使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 …

5.27作业

定义自己的命名空间my_sapce&#xff0c;在my_sapce中定义string类型的变量s1&#xff0c;再定义一个函数完成对字符串的逆置。 #include <iostream> #include <string.h>using namespace std; namespace my_space {string s1;void RevString(string &s1); } v…

本地镜像文件怎么导入docker desktop

docker tag d1134b7b2d5a new_repo:new_tag

内存泄漏案例分享3-view的内存泄漏

案例3——view内存泄漏 前文提到&#xff0c;profile#Leaks视图无法展示非Activity、非Fragment的内存泄漏&#xff0c;换言之&#xff0c;除了Activity、Fragment的内存泄漏外&#xff0c;其他类的内存问题我们只能自己检索hprof文件查询了。 下面有一个极佳的view内存泄漏例子…

DRKCT复现

Osint 羡慕群友每一天 MISC 签到 扫码关注公众号&#xff0c;回复一下行 &#xff08;眼神要好&#xff0c; 我做题时没看见有个二维码&#xff09; 神秘的文字 把代码js运行一下 (用js的原因是前面给的动物代表的字符类似jsfuck代码) &#x13142;![]; &#x13080;!…

香橙派AIpro初体验,详解如何安装Home Assistant Supervised

香橙派AIpro&#xff08;OrangePi AIpro&#xff09;开发版&#xff0c;定位是一块AI开发板&#xff0c;搭载的是华为昇腾310&#xff08;Ascend310&#xff09;处理器。 没想到&#xff0c;这几年的发展&#xff0c;AI开发板也逐渐铺开&#xff0c;记得之前看到华为发布昇腾3…

YOLOv8+PyQt5鸟类检测系统完整资源集合(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)

资源包含可视化的鸟类检测系统&#xff0c;基于最新的YOLOv8训练的鸟类检测模型&#xff0c;和基于PyQt5制作的可视化鸟类检测系统&#xff0c;包含登陆页面、注册页面和检测页面&#xff0c;该系统可自动检测和识别图片或视频当中出现的各种鸟类&#xff0c;以及自动开启摄像头…

利用ESP32(Arduino IDE)向匿名上位机发送欧拉角

文章目录 一. 匿名上位机介绍二. 匿名协议说明1. 匿名协议官方说明文档2. 协议说明 三. 向匿名上位机发送数据(基于Arduino IDE的esp32)四. 运行效果 一. 匿名上位机介绍 匿名上位机官方介绍视频 匿名上位机官方下载 二. 匿名协议说明 1. 匿名协议官方说明文档 官方对于协…

DOS学习-目录与文件应用操作经典案例-ren

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 案例 1&#xff1a;重命名当前目录下的文件 案例 2&#xff1a…