已安装docker-compose但docker compose命令不识别问题咨询
问题原因
- 你当前使用的Docker 20.10.10版本低于20.10.13,该版本之前Docker CLI默认没有预装Compose V2插件,因此无法识别
docker compose子命令。 - 你当前可正常使用的
docker-compose是独立安装的二进制版本,并未作为Docker CLI的插件注册,因此只能通过带横杠的独立命令调用。
解决方法
你可以选择以下任意一种方案实现docker compose命令的正常使用:
方案1:升级Docker版本
升级Docker引擎到20.10.13及以上版本,新版本默认预装Compose V2插件,升级完成后即可直接使用docker compose系列命令,命令用法和原有docker-compose完全一致。
方案2:手动注册现有Compose为Docker CLI插件
如果不想升级现有Docker版本,可以直接将已安装的docker-compose二进制注册为CLI插件,操作步骤如下:
- 创建Docker CLI插件目录(如果目录不存在):
mkdir -p ~/.docker/cli-plugins
- 将现有
docker-compose二进制软链到插件目录:
ln -s $(which docker-compose) ~/.docker/cli-plugins/docker-compose
- 给插件文件添加执行权限:
chmod +x ~/.docker/cli-plugins/docker-compose
- 验证配置是否生效:
执行docker compose version,如果输出和docker-compose --version结果一致,说明配置成功,后续docker compose命令的使用效果和docker-compose完全相同。
如果需要让系统所有用户都能使用docker compose命令,将软链创建到全局插件目录/usr/local/lib/docker/cli-plugins下即可。
内容的提问来源于stack exchange,提问作者Forrest Keppler
相关产品推荐
相关产品推荐

