Ubuntu 22.04官方仓库安装的Docker 24.0.5使用docker compose --parallel参数报错问题
Ubuntu 22.04官方仓库安装的Docker 24.0.5使用docker compose --parallel参数报错问题
我来帮你排查这个问题!你遇到的情况其实是Ubuntu官方仓库提供的Docker包,和Docker官方发行的版本在Compose组件上存在差异导致的,具体原因和解决办法如下:
问题根源
你通过sudo apt install docker-buildx安装的docker.io包,虽然Docker引擎版本是24.0.5,但它附带的Compose工具还是旧的1.x版本(docker-compose),而--parallel参数是Docker Compose V2才新增的功能,旧版本根本不支持这个参数,所以会抛出unknown flag: --parallel的错误。
你可以运行下面的命令验证当前Compose版本:
docker compose version # 或者检查旧版工具的版本 docker-compose version
如果输出是docker-compose version 1.x.x,那就实锤了是版本不匹配的问题。
解决办法
不想折腾PPA的话,有两种简单的方式升级到支持--parallel的Docker Compose V2:
方式1:直接下载官方二进制文件
直接从Docker官方下载对应你系统架构的最新Compose V2二进制文件,放到Docker的CLI插件目录:
# 创建插件目录(如果不存在的话) sudo mkdir -p /usr/local/lib/docker/cli-plugins # 将下载好的二进制文件移动到上述目录,命名为docker-compose sudo mv path/to/your/downloaded/docker-compose-binary /usr/local/lib/docker/cli-plugins/docker-compose # 赋予执行权限 sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
方式2:使用Snap安装完整Docker
Ubuntu的Snap仓库里的Docker包是和官方同步的,包含最新的Docker引擎和Compose V2,安装命令:
sudo snap install docker
验证修复
安装完成后,再次运行docker compose version,如果输出显示Docker Compose version v2.x.x,就说明升级成功了,这时候再执行你的脚本:
docker compose --parallel 1 -f "my_file" down
应该就能正常运行,不会再报错啦。
备注:内容来源于stack exchange,提问作者keldorn




