You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何恢复Docker Compose ps命令的短格式输出(解决v2.21.x+版本输出换行可读性差问题)

如何恢复Docker Compose ps命令的短格式输出(解决v2.21.x+版本输出换行可读性差问题)

我太懂这种难受的感觉了——Docker Compose从v2.21.x版本开始,COMMAND列不再自动截断,结果输出在1920x1080的屏幕上都换行乱掉,读起来特别费劲。别担心,这儿有几个靠谱的解决办法:

方法1:用--format自定义短格式输出(最灵活)

你可以通过--format参数手动定义输出的列,还能直接截断COMMAND列的长度,完美复刻旧版本的短格式效果。比如:

docker compose ps --format "table {{.Name}}\t{{.Image}}\t{{slice .Command 0 20}}...\t{{.Service}}\t{{.CreatedAt}}\t{{.Status}}\t{{.Ports}}" postgres

这里的{{slice .Command 0 20}}会截取命令的前20个字符,后面加...表示被截断,你可以根据自己的需求调整截取的长度。

方法2:用COLUMNS环境变量强制适配屏幕宽度(最简便)

Docker Compose的输出会自动适配终端的宽度,你可以通过设置COLUMNS环境变量来限制输出的总宽度,让它自动截断过长的列:

  • 临时生效(单次命令):
    COLUMNS=150 docker compose ps postgres
    
    150是适合1920x1080屏幕的参考值,你可以根据自己的终端实际宽度调整这个数字。
  • 永久生效(针对bash环境):
    编辑你的~/.bashrc或者~/.bash_profile文件,添加一行:
    export COLUMNS=150
    
    保存后执行source ~/.bashrc,之后每次打开终端都会自动生效。

方法3:降级到v2.20.x版本(不推荐长期使用)

如果实在习惯旧版本的默认输出,也可以暂时降级到v2.20.x系列,但长期来看不建议这么做——毕竟新版本会修复bug和增加新功能。以Debian/Ubuntu系统为例,降级命令是:

sudo apt-get install 'docker-compose-plugin=2.20.*'

以上几种方法里,最推荐用--format自定义输出,灵活度最高;如果只是临时调整,COLUMNS环境变量会更省事。

备注:内容来源于stack exchange,提问作者AntonioK

火山引擎 最新活动