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多架构构建镜像的全部流程。
热门推荐
鼻窦炎知多少?教你轻松应对鼻塞头疼
如何在不同设备上修改DNS服务器地址
智能维修:报修管理系统如何利用 AI 和 IoT 技术提升维修效率
全国中小学生安全教育周特别报道|加强学生安全教育 保障学生健康成长
共价键的分类方式
90平房子简装究竟需花多少?精算预算避免滥花钱
如何选择适合你的种族在星际2中(探索不同种族特点)
大理永平:用标准化推动黄焖鸡香飘四方
为什么我们生活在一个多重宇宙中?
米芾《临兰亭序》:狂放书家的恭敬之作
王者荣耀控制技能播报如何触发?触发条件是什么?
河源各界热议高质量发展,为加快实现绿色崛起献“金点子”
空气内衬头盔:头盔内衬技术的革命性突破
国家卫生健康委《肥胖症诊疗指南(2024年版)》(全文)
机械制图基础知识入门(从零开始学习机械制图的基本原理与方法)
解除商品房买卖合同流程
我的人生我作主,摆脱被异化
研发过程中的创意思维技巧有哪些
心梗吃什么药好得快
光线传媒从11.44元涨至41.68元!一指标说出背后规律
培养孩子的性别平等观念,从阅读童书开始
脚气反反复复怎么回事
精选46个创意微信网名,让你的账号与众不同
【CEO故事】霍华德·舒尔茨:“星巴克之父”的逆袭人生
念读三千字稿件需要多长时间?解析朗读速度与节奏。
如何通过 CMD 命令登录服务器?
情绪失控很严重,如何通过饮食调整来减轻压力?看这8个好建议
艺术设计|纹样:中国传统文化中的图案密码
春节档6部电影 5部有IMAX版 创下历年之最
雨水收集利用的技术措施与设计规划详解