You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker compose ps --format json输出JSON格式异常求助

解决 docker compose ps --format json 输出非JSON数组问题的检查项
  • 核对Docker Compose版本
    不同版本的Docker Compose对--format json的输出格式有明显差异。早期版本(比如v2.0.x之前)会输出独立的JSON对象,而较新的稳定版本统一输出JSON数组。拿本地的docker compose version输出和正常服务器对比,要么升级到对应稳定版,要么直接安装和正常服务器一致的版本。

  • 检查Docker Compose的安装方式
    注意区分旧版docker-compose(下划线命名)和新版docker compose(空格分隔)——这是两个不同的工具,旧版的docker-compose ps --format json本身就会输出单个JSON对象。确认本地使用的是官方新版的docker compose命令,而非通过pip等渠道安装的旧版工具。

  • 排查环境变量与配置文件
    检查是否存在自定义的COMPOSE相关环境变量,可能影响输出格式。执行env | grep COMPOSE查看相关变量,临时清空后再测试命令。另外,检查用户目录下的.docker/config.json或~/.docker/compose/config.json,确认没有修改输出格式的自定义配置,如有则恢复默认。

  • 验证容器状态
    若本地存在异常状态的容器(比如处于创建中、重启循环的容器),可能导致输出格式异常。对比正常服务器的容器状态,确保本地容器都处于正常运行或已停止的稳定状态后,重新执行命令测试。

临时应急处理

如果暂时无法调整配置或版本,可以用以下命令将输出转为JSON数组,正常配合jq使用:

docker compose ps --format json | jq -s '.'

内容的提问来源于stack exchange,提问作者sowiq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:39:58