天道酬勤

docker arm64 离线镜像构建

前言

最近工作需要离线构建arm64镜像,这里记录一下

基础镜像准备

nginx有默认的arm64镜像,这里通过命令行拉取

1
docker pull --platform=linux/arm64 nginx

jdk的镜像从其它地方备份下来,这里可以通过docker load 方法进行处理

1
docker load --input /mnt/d/JulyDocker/xxzx_openjdk_8_aba7b4.tar.gz

拉取完毕,可以通过docker desktop 的images 查看

 准备Dockerfile文件

这里准备Dockerfile文件,文件的基础镜像就写刚刚拉取的

java相关的如下

1
2
3
4
5
6
7
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作为基础镜像

1
2
3
4
5
6
7
8
9
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

1
2
3
docker build --platform=linux/arm64  -t ${DOCKER_NAME}:${PROJECT_VERSION} .
#保存,压缩
docker save -o ${DOCKER_NAME}.tar ${DOCKER_NAME}:${PROJECT_VERSION}

结尾

后续把tar 导入进去就行

posted @   JulyLuo  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示