docker ps 默认列出所有正在运行的容器,输出包含容器id、镜像名、启动命令、创建时间、状态、端口映射和名称;无输出即表示当前无运行中容器;docker ps -a 显示全部容器(含已停止),支持 -q、--format、-f 等选项实现精简、定制或过滤输出。

直接运行 docker ps 就能列出当前所有正在运行的容器,这是最基础也最常用的查看方式。
只看运行中的容器(默认行为)
执行命令:
docker ps
输出表格包含关键字段:容器 ID、镜像名、启动命令、创建时间、状态(如 Up 3 minutes)、端口映射、容器名称。注意:如果没输出,说明确实没有容器在运行——不是命令问题,是当前真没 running 状态的容器。
查看全部容器(含已停止的)
调试时经常需要看到“跑过但退出了”的容器,比如崩溃的服务或一次性任务:
-
docker ps -a或docker container ls -a - 状态栏会明确显示:Exited (0)(正常退出)、Exited (137)(被系统 OOM 杀掉)、Created、Paused 等
快速提取特定信息(适合排查或脚本)
不需要完整表格?用这些选项精简输出:
- 只拿容器 ID 列表(方便后续批量操作):
docker ps -q - 自定义格式,比如只看名字和状态:
docker ps --format "table {{.Names}}\t{{.Status}}" - 按状态过滤,例如只查暂停的:
docker ps -f status=paused
确认容器是否“真在跑”(避免假运行)
有些容器启动后立刻退出,docker ps 显示 Up 却实际没进程。这时需进一步验证:
- 查日志找报错:
docker logs - 进容器看主进程是否存活:
docker exec ps aux | grep your-main-process - 记住原理:容器生命周期由启动命令决定。若命令执行完就退出,容器就会停;要持续运行,得用
tail -f /dev/null、sleep infinity这类不退出的命令,并确保它作为前台主进程运行











