安装Linux操作系统其实也分不同的架构,不同的架构对软件的支持程度也是不一样的,例如我们今天安装的 Docker Compose,他在不同的架构上安装方式就不一样。大致可以分为两大类,一种方式安装是基于Linux AMD64上安装的,这种方式按照官方的安装文档,可以很快的安装成功;另一种Linux ARM64(aarch64)架构的系统,使用官方的安装方式就会报错!
首先提醒一下,查看自己Linux系统属于哪一种架构,可以使用如下命令查看: uname -a
root@oracle-u-a1:~# uname -a
Linux oracle-u-a1 5.4.0-1058-oracle #62~18.04.1-Ubuntu SMP Fri Nov 12 23:02:29 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
第一种:基于 x86、arm、amd64 安装Docker Compose:(简单)
1、运行此命令以下载 Docker Compose 的当前稳定版本:
#安装Docker Compose 的 1.29.2 版本
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#安装Docker Compose 的 v2.2.2 版本,注意从2.0版本开始,需要加V,才能正确安装!
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
备注:要安装不同版本的 Compose,请替换1.29.2
为您要使用的 Compose 版本。2021年12月18号,Compose最新版本是 v2.2.2
注意1:上面的1.29.2版本非最新版本,请自行查找最新版本安装,查看地址是:Docker Compose 最新版
使用Docker官方的安装地址,下载很慢!
2、对二进制文件应用可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
3、创建软链:(这一步个人觉得没必要做,因为不做docker compose也可以正常使用,如有专业人士可以分享官方为什么给这一步?)
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4、测试安装
root@oracle-u-a1:~# sudo docker-compose --version
docker-compose version 1.29.2, build unknown
参考链接1:https://docs.docker.com/compose/install/
参考链接2:https://www.runoob.com/docker/docker-compose.html
在阿里云AMD 64上的安装命令:
root@iZ***Z:~# docker --version
Docker version 20.10.12, build e91ed57
root@iZ***Z:~# sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 664 100 664 0 0 307 0 0:00:02 0:00:02 --:--:-- 307
9 23.5M 9 2360k 0 0 5628 0 1:13:00 0:07:09 1:05:51 16604
curl: (18) transfer closed with 22237016 bytes remaining to read
root@iZuf670pp4oxzvyyq3ldr0Z:~# sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 664 100 664 0 0 2379 0 --:--:-- --:--:-- --:--:-- 2379
100 23.5M 100 23.5M 0 0 77518 0 0:05:18 0:05:18 --:--:-- 15173
root@***Z:~# sudo chmod +x /usr/local/bin/docker-compose
root@iZ***Z:~# docker-compose --version
Docker Compose version v2.2.2
第二种:基于 ARM64(aarch64) 安装Docker Compose:(复杂)
这种 ARM64(aarch64) 架构的Linux安装Docker Compose,目前只支持pip安装!
补充2021-12-18:本人发现官方有在 Github 出 ARM64(aarch64) 的安装包,那么应该也可以通过上面说的简单方法安装,具体本人没有亲测!安装包地址见:https://github.com/docker/compose/releases
错误1:
如果还使用第一种的官方安装方式,将会得到下面的报错:
user@hostname:~$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9 100 9 0 0 38 0 --:--:-- --:--:-- --:--:-- 38
user@hostname:~$ sudo chmod +x /usr/local/bin/docker-compose
user@hostname:~$ docker-compose
/usr/local/bin/docker-compose: line 1: Not: command not found
错误2:
其实官方还有一种安装的方式,叫:作为容器安装
Compose 也可以在容器内运行,来自一个小的 bash 脚本包装器。要将 compose 安装为容器,请运行以下命令:
sudo curl -L --fail https://github.com/docker/compose/releases/download/1.29.2/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
这种安装也会报错,我这边就不再重复报错,大家感兴趣的可以试一试!
错误3:
通过仓库安装(APT),安装命令如下:
# Ubuntu 18.04 ARM64
apt-get install docker-compose
这个安装本人没有试过,但是通过网上了解到,通过APT安装即使能安装成功,安装的版本也是比较旧的,这个感兴趣的网友可以一试。
正确安装
对于想要在 ARM 上启动并运行 Docker Compose 1.29.2 的任何人,这可能很有用:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install curl python3-pip libffi-dev python-openssl libssl-dev zlib1g-dev gcc g++ make -y
curl -sSL https://get.docker.com/ | sh
sudo snap install rustup --classic
sudo apt install rustc
sudo pip3 install docker-compose
sudo docker-compose --version
安装上面一行行命令执行下来,你是不是会遇到在执行命令: sudo pip3 install docker-compose
后,报错如下:
解决方法很简单,按照命令行提示的更新一下pip即可,注意:要更新的时pip3,更新的命令行如下:
sudo -H pip3 install --upgrade pip
然后在重新执行一遍安装 Docker Compose 命令:
sudo pip3 install docker-compose
最终成功安装 Docker Compose 。
验证一下,使用命令行:
root@oracle-u-a1:~# sudo docker-compose --version
docker-compose version 1.29.2, build unknown
参考链接:https://github.com/docker/compose/issues/7472
参考链接:https://askubuntu.com/questions/712339/how-can-i-upgrade-pip-to-the-latest-version
参考链接:https://blog.k4nz.com/ae46d401c6585482506ce00af98dac70/