赞
踩
一键安装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
那么只有采取终极安装方式。
安装wget和openjdk。
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel wget -y
安装Python 3.6。
yum install python36 -y
安装docker。
yum install docker
启动docker。
systemctl start docker
检查docker是否安装成功,显示如下表示安装成功。
docker --version
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
您可以docker inspect 查看一下你所docker pull下来的镜像架构("Architecture"属性),一般出现这种问题,表示镜像架构与运行时架构不匹配导致的。
如果是从DockerHub或者Quay.io或者gcr之类的平台下载的时候,建议可以去查看一下是否有ARM64的镜像,详见下图所示,如果有的话,可以在docker pull时添加标识符的方式来告诉docker要下载哪一个镜像;
如果没有ARM64版本或者不是镜像源下载的镜像,可能需要从源码进行自行编译或者用ARM64版本进行容器镜像制作;
Java 服务的DockerFile
# FROM openjdk:11.0.10-jdk-oraclelinux7 使用arm64的jdk
FROM openjdk:8-jre-alpine
ENV spring_profiles_active=dev
ENV env_java_debug_enabled=false
EXPOSE 8080
WORKDIR /app
ADD target/smcp-web.jar /app/target/smcp-web.jar
ADD run.sh /app
ENTRYPOINT ./run.sh
Maven Dockerfile
FROM openjdk:8-jdk ARG MAVEN_VERSION=3.6.3 ARG USER_HOME_DIR="/root" ARG SHA=c35a1803a6e70a126e80b2b3ae33eed961f83ed74d18fcd16909b2d44d7dada3203f1ffe726c17ef8dcca2dcaa9fca676987befeadc9b9f759967a8cb77181c0 ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries RUN mkdir -p /usr/share/maven /usr/share/maven/ref \ && curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \ && echo "${SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \ && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \ && rm -f /tmp/apache-maven.tar.gz \ && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn ENV MAVEN_HOME /usr/share/maven ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2" COPY mvn-entrypoint.sh /usr/local/bin/mvn-entrypoint.sh COPY settings-docker.xml /usr/share/maven/ref/ ENTRYPOINT ["/usr/local/bin/mvn-entrypoint.sh"] CMD ["mvn"]
docker-compose-aarch64下载地址 并且修改为码云地址,github下载很慢:https://javaandjar.oss-cn-beijing.aliyuncs.com/docker-compose-aarch64.zip
参考:https://support.huaweicloud.com/prtg-kunpengmm/dockercompose_01_0001.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。