在Debian上安装最新版Docker Compose时遇到apt信息与实际版本不匹配问题
我完全懂你现在的糟心情况——明明APT里显示已经装上了2.25.0版本的docker-compose-plugin,可实际运行docker compose version却跳出个不匹配的版本,连想要用的include关键字都没法正常用。别着急,咱们一步步排查解决:
先搞清楚当前运行的是哪个版本的Docker Compose
先执行这两个命令,确认实际版本和执行路径:docker compose version which docker-compose which docker大概率是系统里还残留着旧版的独立
docker-compose(带横杠的那个包),它的优先级比官方插件版更高,导致你看到的版本和APT显示的不一致。卸载残留的旧版独立Docker Compose
如果上面的命令查到有旧的docker-compose包,先彻底卸载:sudo apt remove --purge docker-compose还要检查有没有手动安装的二进制文件(比如之前从GitHub下载的),如果在
/usr/local/bin目录下有docker-compose文件,直接删除:sudo rm /usr/local/bin/docker-compose重启Docker服务让插件生效
卸载旧版后,重启Docker服务确保新的插件被正确加载:sudo systemctl restart docker这时候再运行
docker compose version,应该就能看到和APT里一致的2.25.0版本了,这个版本是完全支持include关键字的。验证include功能是否正常
可以写个简单的测试文件来确认:
主文件docker-compose.yml内容:include: - ./services.yml配套的
services.yml内容:services: test-container: image: alpine:latest command: echo "Include关键字生效啦!"执行
docker compose up,如果能正常输出提示信息,就说明功能没问题了。
小提醒:现在Docker官方推荐使用docker compose(无横杠)命令,而非旧的docker-compose(带横杠)命令,插件版是直接集成到Docker CLI里的,后续尽量用无横杠的命令哦。
备注:内容来源于stack exchange,提问作者THaslbauer

