docker container ls
列出容器。
用法
docker container ls [OPTIONS]别名
别名是较长命令的简短或易于记忆的替代形式。
docker container listdocker container psdocker ps
选项
-a, --all
显示所有容器(默认仅显示正在运行的容器)
-f, --filter
根据提供的条件过滤输出
--format
使用自定义模板格式化输出: 'table':以带列标题的表格格式打印输出(默认) 'table TEMPLATE':使用给定的 Go 模板以表格格式打印输出 'json':以 JSON 格式打印 'TEMPLATE':使用给定的 Go 模板打印输出。 有关使用模板格式化输出的更多信息,请参阅 https://docs.docker.com/go/formatting/
-n, --last
-1
显示最后创建的 n 个容器(包含所有状态)
-l, --latest
显示最新创建的容器(包含所有状态)
--no-trunc
不截断输出
-q, --quiet
仅显示容器 ID
-s, --size
显示总文件大小
过滤 (--filter)
--filter)过滤标志 (--filter) 的格式为 key=value。如果有多个过滤器,则传递多个标志(例如,--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)
label 过滤器
label 过滤器label 过滤器根据标签的存在与否或标签及其值进行匹配。
以下过滤器匹配具有 color 标签的容器,无论其值是什么:
以下过滤器匹配 color 标签值为 blue 的容器:
name 过滤器
name 过滤器name 过滤器匹配容器名称的全部或部分。
以下过滤器匹配名称包含 nostalgic_stallman 字符串的所有容器:
你也可以过滤名称中的子字符串,如下所示:
exited 过滤器
exited 过滤器exited 过滤器按退出状态码匹配容器。例如,要筛选成功退出的容器:
你可以使用过滤器定位退出状态码为 137 的容器,这意味着它们被 SIGKILL(9) 杀死。
导致 137 状态的事件包括:
容器的 init 进程被手动杀死
docker kill杀死了容器Docker 守护进程重启,杀死了所有运行中的容器
status 过滤器
status 过滤器status 过滤器按容器状态进行匹配。容器状态的可能值如下:
created
从未启动过的容器。
running
正在运行的容器,由 docker start 或 docker run 启动。
paused
已暂停的容器。参见 docker pause。
restarting
由于为该容器指定的重启策略而正在启动的容器。
exited
不再运行的容器。例如,容器内的进程已完成,或使用 docker stop 命令停止了容器。
removing
正在被移除过程中的容器。参见 docker rm。
dead
“僵死”容器;例如,由于外部进程占用资源而仅被部分移除的容器。僵死容器无法被(重新)启动,只能被移除。
例如,筛选正在运行的容器:
筛选已暂停的容器:
ancestor 过滤器
ancestor 过滤器ancestor 过滤器基于容器的镜像或其后代进行匹配。该过滤器支持以下镜像表示形式:
imageimage:tagimage:tag@digestshort-idfull-id
如果你不指定标签,则使用 latest 标签。例如,筛选使用最新 ubuntu 镜像的容器:
匹配基于 ubuntu-c1 镜像的容器(在此例中,它是 ubuntu 的子镜像):
匹配基于 ubuntu 版本 24.04 镜像的容器:
以下命令匹配基于层 d0e008c6cf02 或在其层堆栈中包含此层的镜像的容器:
before 和 since 过滤器
before 和 since 过滤器before 过滤器仅显示在给定容器 ID 或名称之前创建的容器。例如,假设有以下已创建的容器:
使用 before 过滤会得到:
since 过滤器仅显示在给定容器 ID 或名称之后创建的容器。例如,使用与 before 过滤器相同的容器:
volume 过滤器
volume 过滤器volume 过滤器仅显示挂载了特定卷或在特定路径上挂载了卷的容器:
network 过滤器
network 过滤器network 过滤器仅显示连接到给定名称或 ID 的网络的容器。
以下过滤器匹配所有连接到名称包含 net1 的网络的容器:
network 过滤器同时匹配网络的名称和 ID。以下示例显示了使用网络 ID 作为过滤器附加到 net1 网络的所有容器:
publish 和 expose 过滤器
publish 和 expose 过滤器publish 和 expose 过滤器仅显示发布了或暴露了给定端口号、端口范围和/或协议的容器。未指定时,默认协议为 tcp。
以下过滤器匹配所有发布了 80 端口的容器:
以下过滤器匹配所有暴露了 8000-8080 范围内 TCP 端口的容器:
以下过滤器匹配所有暴露了 UDP 80 端口的容器:
格式化输出 (--format)
--format)--format 选项使用 Go 模板来美化打印容器输出。
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
附加到此容器的网络的名称
使用 --format 选项时,ps 命令将输出模板声明的数据,或者在使用 table 指令时,包含列标题。
以下示例使用不带标题的模板,为所有正在运行的容器输出由冒号 (:) 分隔的 ID 和 Command 条目:
要在表格格式中列出所有带有标签的正在运行的容器,可以使用:
要以 JSON 格式列出所有正在运行的容器,请使用 json 指令:
最后更新于
这有帮助吗?