为什么需要manifest list
在容器时代,我们在一台机器上通过一条命令启动一个容器,类似:
docker run --name mybusybox -d busybox:latest
busybox:latest为latest版本的busybox镜像,一开始,这完全够用
但“酒香不怕巷子深”,好的软件一定是会被引入到更多的平台满足用户的需求
我查阅了dockerhub上busybox的版本记录,整理如下:
时间 | 版本 | OS/ARCH |
---|---|---|
- | ubuntu-14.04 | - |
Jun 1, 2016 | 1.24.2-glibc |
amd64 |
Jun 2, 2016 | 1.24.2-musl |
linux/amd64 |
Dec 28, 2017 | 1.27.2-uclibc |
linux/386 linux/amd64 linux/arm/v7 linux/arm/v5 linux/arm64/v8 |
Jun 8, 2021 | uclibc |
linux/386 linux/amd64 linux/arm/v5 linux/arm/v7 linux/arm64/v8 linux/mips64le |
从表中我们可以看出一个大趋势,Dec 28, 2017以前OS/ARCH列只有一行,也就是一个镜像,我们可以称为一个manifest,自Dec 28, 2017发布1.27.2-uclibc的版本包含了5种架构,这种一个“<镜像名称>:<版本号>后面包含多个镜像”的方式称为manifest list
想要使用manifest list功能,需要满足以下版本要求: