docker arm64 离线镜像构建
前言
最近工作需要离线构建arm64镜像,这里记录一下
基础镜像准备
nginx有默认的arm64镜像,这里通过命令行拉取
docker pull --platform=linux/arm64 nginx
jdk的镜像从其它地方备份下来,这里可以通过docker load 方法进行处理
docker load --input /mnt/d/JulyDocker/xxzx_openjdk_8_aba7b4.tar.gz
拉取完毕,可以通过docker desktop 的images 查看

准备Dockerfile文件
这里准备Dockerfile文件,文件的基础镜像就写刚刚拉取的
java相关的如下
FROM xxzx/openjdk:8 WORKDIR /app EXPOSE 80 ADD ./july.jar ./app.jar ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"] CMD ["--spring.profiles.active=dev"]
前端引用nginx作为基础镜像
FROM nginx:latest RUN mkdir -p /etc/nginx/conf.d EXPOSE 80 WORKDIR /dist COPY ./dist ./ COPY ./nginx.conf /etc/nginx/nginx.conf CMD ["nginx", "-g", "daemon off;"]
构建和保存镜像
这里就直接通过docker build 和 save方法进行处理,只需要build过程中加 --platform=linux/arm64
docker build --platform=linux/arm64 -t ${DOCKER_NAME}:${PROJECT_VERSION} .
#保存,压缩
docker save -o ${DOCKER_NAME}.tar ${DOCKER_NAME}:${PROJECT_VERSION}
结尾
后续把tar 导入进去就行

浙公网安备 33010602011771号