我可以使用以下命令单独构建我的Dockerfile:
docker buildx build --platform linux/arm64 -t testbuild .
现在我想在docker-compose文件中使用buildx,但是如何使用以及如何指定我想使用arm64架构?这是我使用普通构建时的结构。
testbuild:
build: …/testbuild
image: testbuild
有人知道吗?
我可以使用以下命令单独构建我的Dockerfile:
docker buildx build --platform linux/arm64 -t testbuild .
现在我想在docker-compose文件中使用buildx,但是如何使用以及如何指定我想使用arm64架构?这是我使用普通构建时的结构。
testbuild:
build: …/testbuild
image: testbuild
有人知道吗?
您可以通过设置环境变量COMPOSE_DOCKER_CLI_BUILD=1
在docker-compose中使用buildx,如果buildx未设置为默认值,则还应添加DOCKER_BUILDKIT=1
:
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
docker buildx bake
命令。官方文档说:
此外,它还允许您传递要构建的目标名称,以仅构建特定目标。使用-f / --file选项指定要使用的构建定义文件。该文件可以是Docker Compose、JSON或HCL文件。
尝试
COMPOSE_DOCKER_CLI_BUILD=1 \
DOCKER_BUILDKIT=1 \
DOCKER_DEFAULT_PLATFORM=linux/amd64 \
docker-compose build
DOCKER_BUILDKIT
启用(1)或禁用(0)BuildKit构建
DOCKER_DEFAULT_PLATFORM
为采用--platform
标志的命令设置默认平台
COMPOSE_DOCKER_CLI_BUILD
配置是否使用Compose内置的Python客户端(0)来构建镜像,还是使用本机的Docker CLI(1)。默认情况下,Compose使用Docker CLI来执行构建,这允许您使用BuildKit执行构建。