arm和x86架构服务器拉取arm64架构的docker镜像

dockerhub提供的镜像部分支持arm64架构

Docker

arm架构服务器拉取docker镜像,默认是arm架构

复制代码
# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
52f9ef134af7: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

查看docker镜像的架构

复制代码
$ docker inspect centos | grep -i 'architecture'
        "Architecture": "arm64",

x86平台拉取arm平台的docker镜像

对docker版本有限制

docker运行其他平台容器,需要使用--platform参数指定容器

docker19.03.9及以上版本才支持--platform参数

查看是否开启experimental功能

--platform 参数需要experimental为true,通过下面的命令可以验证是否开启

复制代码
docker info | grep -i 'experimental'

开启experimental功能

修改daemon.json文件,增加下面的参数

复制代码
"experimental": true

修改完成后,重启docker来验证

复制代码
systemctl daemon reload
systemctl restart docker

docker info | grep -i 'experimental'

拉取arm平台的镜像

复制代码
docker pull --platform arm64 centos

查看镜像使用的平台

复制代码
$ docker inspect centos | grep -i 'architecture'
        "Architecture": "arm64",

如果不加 --platform参数,默认拉取自己当前cpu平台的镜像

如果本地有相同tag的镜像,只是平台不同的情况下,需要注意区分tag,不然直接docker pull就会覆盖掉之前的镜像,之前的镜像tag会变为<node>

相关推荐
柒和远方几秒前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
mONESY4 分钟前
AI Loop 自动化工程实践,放弃手工调 Prompt,循环才是标准答案!
架构
Kel12 分钟前
Pregel 为什么会成为LangGraph编排的心脏
人工智能·设计模式·架构
柒和远方14 分钟前
Phase 7.3 复盘:后台任务不只是“扔进队列”,还要能被看见
前端·后端·架构
杉氧23 分钟前
跨平台资源管理:一套代码如何搞定 Android、iOS 和 Web 的图片与多语言?
android·架构·android jetpack
江畔柳前堤44 分钟前
第13章:docker生产环境部署实战
运维·git·docker·容器·代码复审
zlinear数据采集卡2 小时前
从协议解析到波形实时显示:硬核拆解ZLinear采集卡上位机软件的开发架构
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
hj2862513 小时前
Docker 容器化技术标准化笔记
java·笔记·docker
潘正翔3 小时前
docker基础_镜像使用
linux·运维·服务器·docker·容器·centos·devops
mONESY4 小时前
LLM 两大核心底层:Token 分词、Embedding 语义向量化
架构