前期提要
上期我们讲到,postal
的安装需要高版本的docker-compose
。
大部分情况下,我们直接使用包管理安装即可,但是我在安装过程中遇到了包管理器中没有高版本的情况……所以写下本篇记录一下。
本篇依然以Ubuntu/Debian
为例。
查看版本
1 | docker-compose -v |
此时看到我们的版本是1.25.0
,是低于2.0
的,无法运行3.9
及以上的docker-compose.yml
安装方式(一)
可以参考官网
这里使用一种比较暴力的安装方式:直接手动下载可执行文件
查看最新版本
浏览器访问docker-compose
的代码仓库(可能需要翻墙)
截至目前,最高版本是2.5.0
。
下载文件
然后从发布的二进制文件中,找到对应系统的可执行文件,下载下来:
1 | mkdir -p ~/.docker/cli-plugins/ |
上述命令为$HOME
目录下的活动用户安装Compose V2
。
如果需要为系统中的所有用户安装Docker Compose V2
的话则执行:
1 | mkdir -p /usr/local/lib/docker/cli-plugins |
添加权限
1 | chmod +x ~/.docker/cli-plugins/docker-compose |
测试安装
1 | docker compose version |
如果上述两个命令执行结果不同,说明宿主机中已经存在了低版本的docker-compose
,而刚刚安装的高版本compose
仅作为docker
的插件在使用,没有改变/bin
中的可执行文件。此时直接安装postal
依然会失败的……
那么就需要更暴力的安装方式:直接替换低版本
安装方式(二)
直接替换原来的docker-compose
二进制文件。
查看最新版本
同上,浏览器访问官网查看即可。
下载文件
同上,可以直接手动下载上传给服务器,也可以利用curl
下载:
1 | curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o docker-compose |
添加权限
1 | chmod +x docker-compose |
查找文件位置
1 | find / -name docker-compose |
一般来说在/usr/bin/docker-compose
中:
替换文件
1 | sudo cp docker-compose /usr/bin/docker-compose |
测试安装
1 | docker-compose -v |
此时已经升级到高版本了。