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>

相关推荐
一勺菠萝丶2 小时前
Docker Desktop 启动后容器自动启动怎么办?如何关闭容器自启动
运维·docker·容器
小满Autumn3 小时前
MVVM Light 架构笔记:定位器、命令、消息与 IoC 实践
笔记·学习·架构·c#·上位机·mvvm
上海云盾第一敬业销售5 小时前
高防CDN与高防IP应用场景架构解析
网络协议·tcp/ip·架构
小满Autumn5 小时前
CommunityToolkit.Mvvm 架构笔记:现代 MVVM、源生成器与工程化实践
笔记·架构·c#·.net·wpf·mvvm
上海云盾第一敬业销售6 小时前
高防CDN与传统CDN架构解析
web安全·架构·ddos
ZengLiangYi7 小时前
AI 编程工具的数据格式为什么不能统一
javascript·后端·架构
杉氧7 小时前
100% Kotlin:基于 KMP + Compose Multiplatform 的全栈架构实战(Clean Architecture + MVI)
android·架构
刘马想放假7 小时前
Docker 容器导出与镜像导出深度技术解析:docker export vs docker save
docker·容器
杉氧8 小时前
第一篇:从一个 Dagger 报错开始:手把手带你搭建 Hilt 依赖注入的护城河
android·架构
自进化Agent智能体8 小时前
Hermes Trajectory日志工程:让每一次执行都成为进化数据
架构