docker ps命令默认显示正在运行的容器,包含ID、镜像名、命令、创建时间、状态(如Up 2 minutes)、端口和名称;加-a可查看所有容器(含已停止的),-q仅输出ID,--format支持自定义字段输出。

查容器运行状态,最常用也最直接的就是 docker ps 命令。它默认只显示正在运行的容器,不带多余信息,上手快、反馈准。
看运行中的容器(基础用法)
执行:docker ps
就能列出所有 running 状态的容器,包含容器 ID、镜像名、启动命令、创建时间、状态(如 Up 2 minutes)、端口映射和名称等关键字段。
注意:如果什么都没输出,说明当前没有容器在运行——不是命令错了,而是真没运行着的。
查看所有容器(含已停止的)
很多情况下你需要看到“曾经跑过但已退出”的容器,比如调试失败的服务或一次性任务:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
-
docker ps -a或docker container ls -a—— 显示全部容器,状态列会明确标出 Exited、Created、Paused 等 - 状态栏里常见标识:
• Up 5 seconds → 正在运行
• Exited (0) 3 minutes ago → 正常退出,退出码 0
• Exited (137) 1 minute ago → 被系统 OOM killer 杀掉(内存超限)
快速提取关键信息(适合脚本或排查)
不需要完整表格?可以用 --format 定制输出:
- 只看容器 ID 和名字:
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}" - 只获取 ID 列表(方便后续批量操作):
docker ps -q→ 输出类似abc123...这样的纯 ID - 按状态过滤(比如只看 paused 的):
docker ps -f status=paused
确认容器是否真在跑(避免“假运行”)
有些容器启动后立刻退出,表面看是 running,其实进程早已结束。这时光看 docker ps 不够,得结合日志和进程检查:
- 查日志看是否报错:
docker logs <容器名或ID> - 进容器看主进程是否存活:
docker exec <容器名> ps aux | grep your-process - 注意原理:容器生命周期由启动命令决定。比如
docker run ubuntu echo hello执行完就退出;要长时运行,得用tail -f /dev/null或sleep infinity这类不退出的命令,并加-d后台运行。

















