Docker日常系列

一、如何build双架构(AMD+RAM)镜像

(1) 需求描述

  1. 当k8s集群的硬件资源为ARM+AMD混合架构时,镜像需要同时支持2种架构,如何构建镜像。

(2) 操作

  1. 准备工作:需要将代码在不同架构下build为镜像,以下默认我们准备好了2个不同架构下的镜像。如
# 分别构建在arm64和amd环境下的镜像,示例如下
REPOSITORY                                              TAG                            IMAGE ID       CREATED             SIZE
extract                0.0.1.amd              60b4905c7e06   About an hour ago   1.05GB
extract                0.0.1.arm              238df431dadf   3 hours ago         1.11GB   

  1. 具体操作
# 创建manifest列表
## docker manifest create --insecure [镜像名称:xxx_arm_amd]   [镜像名称:xxxx_arm] [镜像名称:xxxx_amd]
docker manifest create --insecure extract:0.0.1.arm_amd  extract:0.0.1.amd extract:0.0.1.arm

# 设置 manifest 列表
# $ docker manifest annotate [OPTIONS] MANIFEST_LIST MANIFEST
docker manifest annotate extract:0.0.1.arm_amd extract:0.0.1.arm --os linux --arch arm64 --variant v8
docker manifest annotate extract:0.0.1.arm_amd extract:0.0.1.amd --os linux --arch amd64

# 推送 manifest 列表
docker manifest push extract:0.0.1.arm_amd

# 获取镜像
docker pull extract:0.0.1.arm_amd

# 查看镜像详情
docker manifest inspect  --verbose extract:0.0.1.arm_amd
上一篇:vue快速入门(七)内联语句


下一篇:YUM仓库和编译安装