docker run hello-world:no supported platform found in manifest list

从错误信息来看问题很明显:当前xx镜像所使用的manifest list里还不支持此平台。而我当前运行docker的平台是mips64架构,而非主流的x86_64 、amd64、arm64等。不仅仅是执行docker run hello-world还是执行docker pull xx,应该都会出现相同的问题。
早期Docker镜像存储的设计没有充分考虑到镜像Multi architecture的支持,而是简单的使用镜像存储库的前缀来区分相同应用的不同平台,并建议开发者将不同平台的镜像应该push到相对应的Docker hub的镜像仓库中。例如运行busybox在多个平台上,按照Docker社区的方法如下:

ppc64le:   docker run -it --rm ppc64le/busybox 
s390x:      docker run -it --rm s390x/busybox 

基于Docker社区的做法,对于我们自己的应用程序Docker镜像多平台支持,我们还可以采取类似方法:

  1. 基于tag
x86-64:    docker run -it --rm myapp:x86-64
ppc64le:  docker run -it --rm myapp:ppc64le
  1. 基于image 名称的后缀
x86-64:    docker run -it --rm myapp_x86-64
ppc64le:  docker run -it --rm myapp_ppc64le

这个办法确实有点low。好的设计是应该用户只要执行docker pull myapp就行了而不用关心容器的运行平台。好消息是从Docker registry v2.3和Docker 1.10 开始实现了Multi architecture Docker镜像功能。Docker hub就可以pull multi architecture Docker镜像了。具体的multi-arch的原理分析可以参看https://blog.csdn.net/dev_csdn/article/details/79138424
但是遗憾的是目前还没有对mips64le做支持,包括offical images。
目前对于hello-world的镜像。我已经提交一版到dockerhub。如果你的主机环境也是mips64el,不妨试试我的镜像

docker run sunny158/hello-world
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海棠花败

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值