Linux ARM64(aarch64) 安装 Docker Compose

docker compose
docker compose

安装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官方的安装地址,下载很慢!

Docker Compose安装非常慢
Docker Compose安装非常慢

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 后,报错如下:

 Docker Compose 安装
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/

Docker版本信息
Docker版本信息
滚动至顶部