dockerhub上有很多官方的镜像,支持多平台。本文进行简单介绍。

下载

以 busybox 为例,官方镜像地址为: https://hub.docker.com/_/busybox?tab=tags 。可以查看各种平台的各种版本。如图1所示。

下载一个 arm v7 版本的:

docker pull busybox:glibc@sha256:783d05e2c73f48d4499387b807caf11b0b3afef5e17e225643b4b4558b21e221

通过 docker images | grep busybox 查看其镜像 ID 为 2128ff41e8e1。如下:

busybox  <none> 2128ff41e8e1    12 days ago     2.68 MB

只有镜像ID,没有镜像名称,打标签:

docker tag 2128ff41e8e1 latelee/armbusybox:v7

这个镜像无法在x86上运行。提示:

standard_init_linux.go:178: exec user process caused "exec format error"

docker 19.03 版本已经支持多平台镜像的构建。因故未实验。

上传

前一小节,我们在拉取镜像时,指定了 sha256 的值,以示区别,但实际上,docker pull可以根据当前的系统选择不同的镜像,以拉取 nginx 命令为例:

docker pull nginx

在不同系统(如arm、x86、x86_64)执行,得到的镜像是不同的,且匹配当前系统。因为官方的 nginx 支持了不同系统,详情参考 https://hub.docker.com/_/nginx?tab=tags 。
这利益于 docker manifest 机制。

下面尝试制作支持多平台的镜像,对用户而言镜像名称相同,docker 拉取时根据执行命令时的架构判断选择。

1、开启实验特性:

export DOCKER_CLI_EXPERIMENTAL=enabled

2、制作不同镜像。

3、上传镜像

docker push latelee/webgin latelee/amd64webgin
docker push latelee/webgin latelee/armwebgin

4、制作
先创建:

# docker manifest create latelee/webgin latelee/amd64webgin latelee/armwebgin
Created manifest list docker.io/latelee/webgin:latest

再标注不同平台:

docker manifest annotate latelee/webgin latelee/amd64webgin --os linux --arch x86_64
docker manifest annotate latelee/webgin latelee/armwebgin --os linux --arch armv7l

可查看详情:

docker manifest inspect latelee/webgin

最后推送:

docker manifest push latelee/webgin

注1:在不同的系统实验,发现arch字段名称不同,有时用x86_64可以,但有时用amd64可以,一些示例:arm、ppc64le、arm64。
注2:如果错误创建了manifest(如名称不同的镜像,但内容一致,打标签不同,认为是2个,实际是一个),再更新似乎更新不了。方法:找另一台新的机器,重新步骤。
注3:不需要下载到本地,但需要dockerhub上存在。镜像似乎的确要存在于dockerhub上。
注4:因周知之原因,dockerhub网络不太稳定,可能需要多次尝试。

如不存在,无法下载,比如本身不存在arm版本,但却在 arm 系统中拉取:

docker pull latelee/webgin
latest: Pulling from latelee/webgin
latest: Pulling from latelee/webgin
latest: Pulling from latelee/webgin
no matching manifest for linux/arm in the manifest list entries

我的docker随笔20:多平台docker镜像下载相关推荐

  1. 我的docker随笔36:定制jenkins镜像

    本文涉及一种根据实际需求定制 jenkins 镜像的方法及实践.其目的是在官方镜像基础上添加自定义软件.库,以便更加适应项目的开发情况. 一.引言 官方镜像基本能实现了常见的持续集成功能,但还有一些不 ...

  2. 我的docker随笔25:一个测试用的镜像制作过程

    本文记录制作一个镜像的过程,先构建可运行静态程序的镜像,以此为基础,构建一个golang语言编写的web服务器,可获取容器的主机.内核版本等信息.该镜像可用于 k8s 和 KubeEdge 群集测试. ...

  3. Docker源码分析(十):Docker镜像下载

    http://www.infoq.com/cn/articles/docker-source-code-analysis-part10 1.前言 说Docker Image是Docker体系的价值所在 ...

  4. docker数据圈_《Docker从入门到跑路》之镜像和容器的基本操作

    一.获取镜像 官方提供了一个公共镜像仓库Docker Hub,默认是从这上面获取镜像的. 搜素镜像使用docker search 命令: # docker search --help Usage:do ...

  5. docker from指令的含义_Docker 镜像常用命令

    获取镜像 从 Docker 镜像仓库获取镜像的命令是 docker pull.其命令格式为: docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签] ...

  6. 我的docker随笔13:docker源码编译进阶篇

    本文与前面文章相同,但多了一些分析的步骤. 一.环境搭建 docker的编译,需要在宿主机预先安装docker软件.因为编译docker的源码时,会构建一个docker镜像并运行,在这个容器里面进行b ...

  7. 构建多平台Docker镜像

    利用 Docker 19.03 以上版本引入的插件 buildx[4],可以很轻松地构建多平台 Docker 镜像.buildx 是 docker build ... 命令的下一代替代品,它利用 Bu ...

  8. 企业为什么要使用基于Docker的PaaS/CaaS平台

    作者:精灵云 前言 早在十多年前国内外的一些大厂就开始投入研发和使用容器技术,比如Google,对他们来说,使用容器能够充分利用计算资源节省硬件成本.而这几年--众所周知--真正把容器技术发扬光大的是 ...

  9. 微博 Docker 化混合云平台大剖析

    8亿用户.单日活跃人数超过1亿人.每日超过600亿次的API调度.超过1兆次远端程序呼叫,甚至连Log记录档每天都爆增100TB,这是新浪微博平台维运架构师王关胜所面对的挑战,他得设计出一个有能力胜任 ...

最新文章

  1. iPhone真机调试流程
  2. MOS管电源开关电路的软启动
  3. [转]JS设计模式-单例模式(二)
  4. OpenCV中Mat属性step,step1,elemSize,elemSize1
  5. 谁动了我的工作效率?大咖分享融合通信背后的技术案例
  6. php swoole编译,php+swoole+redis源码编译安装
  7. Oracle On Linux
  8. android.graphics.Color 包含颜色值
  9. 字典树哇 AC自动机哇 = _ =
  10. jquery手机模拟器
  11. php cgi启动报错,php编译安装,cgi启动,以及memcache扩展编译安装.
  12. Kubernetes 小白学习笔记(29)--kubernetes云原生应用开发-基于Elasticsearch技术栈搭建Kubernetes的集群Logging设施
  13. 软件技术专家能力模型
  14. 从零搭建vue-ssr详细介绍
  15. 视音频编解码技术零基础学习方法(向雷神致敬)
  16. c++手机编程软件_手机也能编程?盘点这5个可以用手机编程的App!快收藏!
  17. R语言多元Logistic逻辑回归 应用案例
  18. 贝叶斯系列:(三)贝叶斯网络
  19. 字节后端实习技术三面面经
  20. python字典键盘添加元素_对python字典元素的添加与修改方法详解

热门文章

  1. python索引值_python索引总结
  2. 真不一样了!苹果iPhone 14外形提前曝光:采用“打孔+药丸”的设计
  3. 火遍全网,却被广东人嫌弃!昔日“百亿网红”,快被打回原形了
  4. Switch OLED版被玩家吐槽:屏幕大了价格暴涨 性能未升级
  5. 抖音发布女性数据报告:平均每天31.8万女性发布自拍视频又删除
  6. 特斯拉要开杂货铺? 除了卖车还要卖短裤和酒水
  7. 阿里巴巴发布第四财季财报 菜鸟驿站包裹量增长100%
  8. 高通孟樸:5G+AI将会是移动互联网主流趋势
  9. 拿下阿里投资 回血的网易云音乐能成功突围吗?
  10. 微信内测新功能:公众号们脖子一凉...