Docker在x86系统下构建ARM64架构镜像的完整指南
创作时间:
作者:
@小白创作中心
Docker在x86系统下构建ARM64架构镜像的完整指南
引用
1
来源
1.
https://www.cnblogs.com/pkyit/p/18263017
随着越来越多的服务器采用ARM架构,如何在x86环境下构建ARM64架构的Docker镜像成为了一个实用的技能。本文将详细介绍如何使用Docker的Buildx插件在x86系统下构建ARM64架构的镜像。
一、启用Docker Buildx插件
Docker Buildx是Docker的CLI插件,来自于Moby BuildKit。首先需要确保Docker版本不低于19.10,可以通过以下命令查看Docker版本:
如果Docker版本符合要求,接下来启用Docker Buildx功能:
编辑Docker的配置文件 /etc/docker/daemon.json
,在配置文件中新增如下标签对:
"experimental": true
重启Docker服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
检查Docker Buildx版本:
docker buildx version
在当前的x86_64架构的机器上运行一个特权Docker容器,启用binfmt_misc来运行非x86架构的Docker镜像:
docker run --rm --privileged docker/binfmt:a7996909642ee92942dcd6cff44b9b95f08dad64-amd64
运行以下命令检查是否支持ARM64架构的编译工作:
ls -al /proc/sys/fs/binfmt_misc/
接下来创建一个新的支持多架构的构建器:
docker buildx create --use --name mybuilder
docker buildx inspect mybuilder --bootstrap
docker update --restart=always buildx_buildkit_mybuilder0
检查这个构建器:
docker buildx ls
如图所示,这个构建器可以构建Linux/amd64和Linux/arm64的镜像。
二、编写Dockerfile并构建多架构镜像
以制作一个Java运行环境的镜像为例:
# 制作一个Java基础镜像
FROM alpine:3.18.7
LABEL maintainer="pkyit"
RUN apk add --no-cache openjdk8-jre tzdata curl
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone
运行以下命令构建多架构镜像:
docker buildx build \
-t registry.cn-hangzhou.aliyuncs.com/pkyit/jre8:alpine3.18.7 \
-f Dockerfile . \
--platform linux/amd64,linux/arm64 --push
三、验证
等待片刻,显示已经构建了Linux下的amd64和arm64的2个镜像并且推送到阿里云的私服仓库中了。
不妨把arm64架构的镜像拉取下来验证一下看看是不是arm64架构的:
# 拉取指定架构的镜像
docker pull --platform=linux/arm64 registry.cn-hangzhou.aliyuncs.com/pkyit/jre8:alpine3.18.7
# 检查指定镜像的架构
docker inspect registry.cn-hangzhou.aliyuncs.com/pkyit/jre8:alpine3.18.7 | grep Architecture
以上就是Docker多架构构建镜像的全部流程。
热门推荐
敏捷开发流程图:如何进行有效的每日站会?
深度好文!!尿素、尿素氮、肌酐?肾功能分期!
兼职与全职:如何选择最适合自己的工作模式?
隔夜水、隔夜菜不能吃?真正不能隔夜吃的是它!
小型观赏鱼的初级饲养指南
H.265视频编码与技术全析(上)
城市通勤骑行攻略:自行车类型选择与真实体验分享
数控技术和工业机器人技术哪个好就业?
峨眉山金顶旅游攻略:探秘佛教圣地与自然奇观
斩蛇起义:汉高祖刘邦的传奇故事
月子期间如何进行科学减肥
如何挑选羊毛衫?羊绒衫和羊毛衫的区别
武汉看樱花最美的地方,在这!从早到晚不间断
如何在驾驶中实现最佳燃油效率?这种效率提升有哪些实际影响?
房贷提前还款违约金计算及相关注意事项
琴叶榕的养殖方法
使用AI技术绘制动漫人物的方法
当今社会,善良何以成为稀缺品?我们比任何时候都需要真正的善良
a piece of cake是什么意思?这个英语短语的含义与用法
探索《我的世界》怪塔:搭建、特性与调优攻略
薪酬管理的重要性及其对企业发展的影响
后背长痣的图解大全,后背长痣究竟好不好
Windows 7旗舰版忘记开机密码怎么办?四种实用解决方案
中国乒乓球的辉煌历程:从国球到全民运动
什么是行政文员,就业这一方面怎么样
绘画与艺术表现技巧训练教程
FPGA开发:从基础到应用的全面指南
考试综合征:从学霸案例看考前焦虑的科学应对
2024年日本高分日剧推荐:温情与真实中的优秀之作
在Hyper-V虚拟化环境中,怎么进行高效管理内存资源呢?