查看其它 1 个回答ccww552010的回答

ccww552010ccww552010课题专家组软件开发工程师某科技企业

 一、安装docker并开启实验特性

cat >> /etc/docker/daemon.json << EOF
{
"experimental": true
}
EOF
systemctl daemon-reload
systemctl restart docker
注:
1. Docker 19.03+ 版本中可以使用 docker buildx build 命令使用 BuildKit 构建镜像。
2. linux系统实验特性模式是关闭的,需要打开,才能支持buildx。

 二、 开启 binfmt_misc 来运行非本地架构的 Docker 镜像

如果使用的是 Mac 或者 Windows 版本 Docker 桌面版,则可以跳过这个步骤,因为 binfmt_misc 默认开启。如果使用的是其它平台(linux),可使用 tonistiigi/binfmt 镜像进行安装:
docker run --privileged --rm tonistiigi/binfmt --install all

#  三、创建多架构构建器
默认情况下,Docker 会使用默认构建器,是不支持多架构构建。为了构建多架构的镜像,需要创建新的支持多架构的构建器,需执行 docker buildx create --use
docker buildx create --use --name mybuilder

 四、 构建多架构镜像

docker buildx build -t --platform=linux/arm64,linux/amd64 . --push,构建一个支持 arm64 和 amd64 架构的多架构镜像,并推送至 Docker Hub。

 五、 使用 manifest创建多架构镜像

如果本地已经有不同架构的镜像,则使用manifest创建并推送多架构镜像:

基于多架构镜像,生成统一镜像目录名
docker manifest create \
<repo>:<tag> <repo1>:<tag1>  <repo2>:<tag2>

// 推送统一镜像目录名manifest
docker manifest push <repo>:<tag>

  六、查看多架构镜像的manifest

docker manifest inspect <repo>:<tag>

互联网服务 · 2023-01-01
浏览471

回答者

ccww552010
软件开发工程师某科技企业
擅长领域: 云计算容器容器云

ccww552010 最近回答过的问题

回答状态

  • 发布时间:2023-01-01
  • 关注会员:3 人
  • 回答浏览:471
  • X社区推广