错误:docker 驱动程序当前不支持多平台功能。请切换到不同的驱动程序(例如“docker buildx create --use”)

错误:docker 驱动程序当前不支持多平台功能。请切换到不同的驱动程序(例如“docker buildx create --use”)

buildx build --platform=linux/arm64,linux/amd64最新更新后使用 docker 命令可能会导致错误:

ERROR: multiple platforms feature is currently not supported for docker driver. Please switch to a different driver (eg. "docker buildx create --use")

答案1

现在你必须在docker buildx create命令中使用明确的平台来创建构建器

docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder
docker buildx inspect --bootstrap
docker buildx build --platform=linux/arm64,linux/amd64 --push --tag project-name:latest -f ./project-name/Dockerfile .

docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder- 此命令创建一个新的构建器实例。在这种情况下,它同时支持linux/arm64和linux/amd64平台。 --name 标志设置构建器的名称“multi-platform-b​​uilder”。

docker buildx inspect --bootstrap 此命令检查在上一步中创建的构建器并执行任何必要的设置或配置。 --bootstrap 标志指示构建器应该被初始化(如果尚未初始化)

docker buildx build --platform=linux/arm64,linux/amd64 --push --tag project-name:latest -f ./project-name/Dockerfile . 此命令使用之前创建的构建器构建 Docker 映像。

  • --platform标志指定应为其构建映像的平台,类似于第一个命令。
  • --push标志指示构建的映像应推送到容器注册表。
  • --tag 标志为图像设置一个标签,在本例中为“project-name:latest”。
  • -f标志指定用于构建映像的 Dockerfile 的路径,在本例中为“./project-name/Dockerfile”。
  • 最后的“。”表示构建上下文,它是包含要添加到映像的文件的目录。

相关内容