docker ps查看运行中容器,docker ps -a查看所有容器(含已停止),可用--filter筛选特定状态,docker inspect可检查容器实际健康状态。

在Mac终端中快速确认Docker容器是否正在运行、哪些已停止、哪些处于异常状态,是日常运维和调试的基础动作。这一步不依赖图形界面,纯命令行即可完成,且结果实时准确。
查看所有正在运行的容器
执行:docker ps
该命令只列出当前 STATUS 为 Up 的容器,输出包含 CONTAINER ID、IMAGE、COMMAND、CREATED、STATUS、PORTS 和 NAMES 字段。若终端返回空(无任何行),说明当前没有容器在运行。
查看全部容器(含已停止的)
执行:docker ps -a
这是最常用的全量查看方式,会显示所有创建过的容器,无论其当前是 exited、created、paused 还是 running 状态。注意 STATUS 列中的文字:例如 Exited (0) 2 hours ago 表示该容器已正常退出,而 Exited (137) 5 minutes ago 往往意味着被 OOM Killer 终止——这时需要检查内存限制或应用日志。
按状态筛选特定容器
方法一:只看已退出的容器docker ps -a --filter "status=exited" --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
方法二:只看重启失败的容器docker ps -a --filter "status=restarting" --format "table {{.ID}}\t{{.Image}}\t{{.Status}}"
方法三:查找名称含关键词的容器(如“nginx”)docker ps -a | grep nginx
⚠️ 注意:用 grep 时可能漏掉列头,建议优先使用 --filter 配合 --format,它更稳定、可读性更强,且不会因列宽截断导致误判。
检查某个容器的详细运行状态
第一步:获取目标容器 ID 或名称docker ps -a | head -n 5
第二步:查看其完整状态与健康信息docker inspect --format='{{.State.Status}} {{.State.Health.Status}}' [containerID或name]
如果容器启用了健康检查(HEALTHCHECK),该命令会同时输出 healthy / unhealthy / starting;若未配置健康检查,则第二字段为空。这是判断服务级可用性的关键依据——【仅靠 docker ps 显示 Up 并不能代表应用进程本身健康】。


















