docker-compose安装(包括arm架构)
一、安装docker
一键安装docker
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
接下来安装docker-compose,三种方式进行安装
1、二进制安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 添加快捷启动连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 测试安装结果
docker-compose --version
若是github访问太慢,可以用daocloud下载
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 测试安装结果
docker-compose --version
2、pip3安装
yum install -y libffi libffi-devel openssl-devel python3 python3-pip python3-devel
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose
3、yum安装
yum install docker-compose
但是发现存在2种错误如下:
-bash: /usr/local/bin/docker-compose: cannot execute binary file
采用docker pull 进行启动错误如下:
standard_init_linux.go:219: exec user process caused: exec format error
那么只有采取终极安装方式。
安装docker-compose
cd /usr/local/src
git clone https://github.com/ubiquiti/docker-compose-aarch64.git
安装
进入docker-compose源文件目录。
cd /usr/local/src/docker-compose-aarch64
配置Dockerfile。
vi Dockerfile
注释掉RUN [ "cross-build-start" ],即在之前加入‘#’后保存退出。
# Dockerfile to build docker-compose for aarch64
FROM arm64v8/python:3.6.5-stretch
# Add env
ENV LANG C.UTF-8
# Enable cross-build for aarch64
COPY ./vendor/qemu-bin /usr/bin/
#RUN [ "cross-build-start" ]
安装docker-compose。
cd /usr/local/src/docker-compose-aarch64
docker build . -t docker-compose-aarch64-builder
运行和验证
运行docker-compose容器。
docker run docker-compose-aarch64-builder
找到生成的“docker-compose”可执行程序。
find / -name "docker-compose-Linux-aarch64"
[root@ecs-teukh-1 docker-compose-aarch64]# find / -name "docker-compose-Linux-aarch64"
/var/lib/docker/overlay2/1d8081e2d4b5958a1eccbaf76e949219c260d89236315b48cf0bfa95e076c1da/diff/build/dockercompose/docker-compose-Linux-aarch64
/var/lib/docker/overlay2/1d8081e2d4b5958a1eccbaf76e949219c260d89236315b48cf0bfa95e076c1da/diff/build/docker-compose-Linux-aarch64
/var/lib/docker/volumes/9d6624e6fc53d37221774fed9c64cf1a4ce64319a221e1069c70b4c88df7be40/_data/docker-compose-Linux-aarch64
可以看到有三个目录存放了生成的“docker-compose-Linux-aarch64”可执行程序。
进入任意一个目录。
cd /var/lib/docker/overlay2/1d8081e2d4b5958a1eccbaf76e949219c260d89236315b48cf0bfa95e076c1da/diff/build/dockercompose/
./docker-compose-Linux-aarch64 --version
[root@ecs-teukh-1 build]# ./docker-compose-Linux-aarch64 --version
docker-compose version 1.22.0, build e20d808e
创建快捷键
ln -s /var/lib/docker/volumes/9d6624e6fc53d37221774fed9c64cf1a4ce64319a221e1069c70b4c88df7be40/_data/docker-compose-Linux-aarch64 /usr/bin/docker-compose-Linux-aarch64
I can feel you forgetting me。。 有一种默契叫做我不理你,你就不理我