天道酬勤

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 导入进去就行

posted @ 2024-12-30 14:43  JulyLuo  阅读(638)  评论(0)    收藏  举报