CentOS 编译ARM架构 Docker Compose

官方没有提供aarch64架构的1.29.2版本,官方2.x系列已经提供 aarch64架构版本。
所以需要自行编译aarch64架构的Docker Compose。
编译使用系统不局限于CentOS。

安装依赖

yum -y install yum-utils git

安装Docker

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
或者
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce

拉取源码

git clone [https://github.com/docker/compose.git](https://github.com/docker/compose.git)

切换Tag

cd compose
git checkout 1.29.2

修改源

vim Dockerfile
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
1.png

编译

./script/build/linux

提示:漫长的等待结果吧。

应用

提示:编译成功后会在 ./dist 目录中生成 “docker-compose-Linux-aarch64” 的应用。

cp ./dist/docker-compose-Linux-aarch64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

版本查看

docker-compose version
docker-compose version 1.29.2, build 5becea4
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

扩展内容

执行文件导入本地dist目录时报错,信息往上阅读,发现docker-compose 已经编译好了,只是最后的导出部分报错。
思路:既然导出有问题,那我们自己去容器中提取到本地。


2.png
1.编辑Dockerfile文件
vim Dockerfile
RUN script/build/linux-entrypoint
改成
RUN script/build/linux-entrypoint && sleep 99999
3.png
2.重新进行编辑
./script/build/linux
4.png
3.复制

当编译结果显示 successfully 字样

5.png

新启会话窗口,复制docker-compose到本地

docker ps #查看当前编译容器ID或名称
docker cp trusting_babbage:/usr/local/bin/docker-compose .

你可能感兴趣的:(CentOS 编译ARM架构 Docker Compose)