docker compose 只有x86 版本的,沒有arm版本的。 arm版本的需要自己編譯,你需要有一個配置稍微高一點的,能使用docker 的arm的開發板。
編譯過程如下:
下載代碼:
<code>git clone https://github.com/docker/compose.git/<code>
準備編譯用的dockerfile
<code>cd compose
cp -i Dockerfile Dockerfile.armhf
sed -i -e 's/^FROM debian\\:/FROM armhf\\/debian:/' Dockerfile.armhf/<code>
主要是兩個docker image, 一個是build用的(debian),一個是runtime用的(alpine), 後面用到的主要是build用的, 新版本的docker-compose的編譯不需要修改上面的內容。
你可以通過在的build用的debian的配置裡面添加下面的命令切換deian的apt源
<code>RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list/<code>
在alpine的配置裡面添加下面的命令切換alpine的源
<code>RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories/<code>
修改編譯腳本script/build/linux
-f Dockerfile 修改成-f Dockerfile.armhf, 新版本的docker-compose的編譯不需要修改。
編譯
<code>./script/build/linux/<code>
編譯成功後,編譯好的docker-compose 會被放到dist 目錄下面
<code>$ ls -l dist/
total 14456
-rwxr-xr-x 1 ubuntu ubuntu 14799448 3月 15 20:51 docker-compose-Linux-aarch64/<code>
閱讀更多 cheatsheet 的文章