docker wsl 同时构建arm和x86

问题描述 投票:0回答:1

我可以使用命令在 WSL 上使用 Intel x64 为 DockerHUB 构建 docker 映像:

docker build --tag sosnus15/pinger

我可以使用命令在同一台机器上为基于 ARM 的计算机构建:

docker build --platform arm64 --tag sosnus15/pinger

但是如何同时在两个平台上构建呢?我尝试:

docker build --platform linux/amd64,linux/arm64 --tag sosnus15/pinger:1.0.3 .

控制台输出是:

Error response from daemon: "amd64,linux" is an invalid component of "linux/amd64,linux/arm64": platform specifier component must match "^[A-Za-z0-9_-]+$": invalid argument

那么...我如何使用一个命令 docker build 同时在 2 个平台上创建 2 个镜像?

docker docker-registry
1个回答
0
投票

对于多平台镜像,你应该使用buildx:

docker buildx build --platform linux/amd64,linux/arm64 --tag sosnus15/pinger:1.0.3 --push .

请注意,这还需要推送到注册表,因为本地映像存储(至少在 Containerd 过渡结束实验之前)仅支持单个平台映像。

如果您还没有这样做,您将需要设置一个构建器。有关更多详细信息,请参阅 Docker 文档:https://docs.docker.com/build/building/multi-platform/

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.