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。
如果使用的是 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创建并推送多架构镜像:
基于多架构镜像,生成统一镜像目录名
docker manifest create \
<repo>:<tag> <repo1>:<tag1> <repo2>:<tag2>
// 推送统一镜像目录名manifest
docker manifest push <repo>:<tag>
docker manifest inspect <repo>:<tag>
收起