docker ps 的输出信息
运行 docker ps 后
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a1b2c3d4e5f6 nginx:latest "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:8080->80/tcp, :::8080->80/tcp my-nginx
每一列的含义如下:
-
CONTAINER ID
-
含义: 容器的唯一标识符。这是 Docker 为每个容器分配的随机且唯一的 SHA256 哈希值的前 12 个字符。
-
用途: 在许多其他 Docker 命令中用于指定目标容器(如
docker stop,docker exec,docker inspect)。通常只需要输入 ID 的前 3-4 个能唯一区分的字符即可。
-
-
IMAGE
-
含义: 创建该容器所使用的镜像名称和标签。
-
格式: 通常是
<镜像名>:<标签>(如nginx:latest,ubuntu:20.04,python:3.9-slim)。如果未指定标签,则默认为latest。
-
-
COMMAND
-
含义: 容器启动时运行的初始命令或应用程序(即 Dockerfile 中的
CMD或ENTRYPOINT指令)。 -
注意: 为了显示简洁,过长的命令通常会显示为缩写,后面加上
…。可以使用docker ps --no-trunc来显示完整的命令。
-
-
CREATED
-
含义: 容器被创建的时间点距离现在有多久。
-
格式: 相对时间(如 “2 hours ago”)或绝对时间(如果你使用了
--format等特定选项配置)。
-
-
STATUS
-
含义: 容器当前的状态。这是非常重要的一列。
-
常见状态:
-
Up [时间]: 容器正在运行,并显示已运行的时间(如Up 2 hours)。 -
Exited ([退出代码]) [时间] ago: 容器已停止运行。括号内的退出代码非常重要,0通常表示正常退出,非0值表示因错误而退出(如Exited (0) 5 minutes ago)。 -
Created: 容器已被创建(例如通过docker create),但从未启动过。 -
Restarting: 容器正在重启中(通常由于配置了重启策略)。
-
-
-
PORTS
-
含义: 容器网络端口的映射情况。显示了容器内部端口如何映射到宿主机的端口。
-
格式:
-
0.0.0.0:8080->80/tcp: 表示将容器内部的 80/tcp 端口映射到了宿主机所有IP地址(0.0.0.0)的 8080 端口。这意味着你通过访问宿主机的8080端口就可以访问到容器内的80服务。 -
:::8080->80/tcp: 同上,但这是 IPv6 的表示法。 -
80/tcp: 仅显示容器暴露了80/tcp端口,但没有映射到宿主机端口。这通常用于容器之间的互联(Docker Network),而不是直接对外提供服务。
-
-
-
NAMES
-
含义: 容器的名称。每个容器都有一个唯一的名称。
-
用途: 和
CONTAINER ID一样,用于在其他命令中指定容器(如docker stop my-nginx)。比 Container ID 更易读和记忆。 -
来源: 如果创建容器时未使用
--name参数指定,Docker 会随机生成一个由两个形容词和一个名词组成的有趣名称(如happy_curie,stoic_mendeleev)。
-
其他有用的列(通过 --format 或 -o 指定)
你可以使用 --format 或 -o(Go模板语法)来自定义输出的列,以显示更多信息:
-
SIZE: 容器读写层(可写层)所占用的磁盘空间大小。使用
docker ps -s可以显示。 -
NETWORK: 容器连接到的网络名称。使用
docker ps --format "table {{.Names}}\t{{.Networks}}"。 -
LABELS: 显示分配给容器的所有标签(Label)。
-
MOUNTS: 显示挂载到容器中的卷(Volume)或绑定挂载(Bind Mount)的信息。
-
STATE: 容器的状态代码(例如 “running”, “exited”)。
显示所有容器(包括已停止的)
docker ps -a
显示容器大小(增加SIZE列)
docker ps -s

浙公网安备 33010602011771号