don*_*eas 4 docker dockerfile docker-compose
我可以使用以下命令单独构建我的 dockerfile:
docker buildx build --platform linux/arm64 -t testbuild .
Run Code Online (Sandbox Code Playgroud)
现在我想在 docker-compose 文件中使用 buildx,但是如何以及怎么说我想使用 arm64 架构?这是我使用正常构建时的结构。
testbuild:
build: …/testbuild
image: testbuild
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
在 docker-compose v2.4 中添加了 attribute platform。官方文档在这里。
例子:
version: '2.4'
services:
testbuild:
build: .../testbuild
image: testbuild
platform: linux/arm64/v8
Run Code Online (Sandbox Code Playgroud)
PS 我不知道为什么,但它只适用于 docker-compose 版本 2.4
PSS 关于dockerxdocker-compose,他不在那儿。我认为因为dockerx这是docker 引擎中的实验性功能。
您可以通过设置 ENV 变量在 docker-compose 中使用 buildx COMPOSE_DOCKER_CLI_BUILD=1,如果 buildx 未设置为默认值,则应添加DOCKER_BUILDKIT=1:
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
Run Code Online (Sandbox Code Playgroud)
尝试
COMPOSE_DOCKER_CLI_BUILD=1 \
DOCKER_BUILDKIT=1 \
DOCKER_DEFAULT_PLATFORM=linux/amd64 \
docker-compose build
Run Code Online (Sandbox Code Playgroud)
DOCKER_BUILDKIT
启用 (1) 或禁用 (0) BuildKit 构建
DOCKER_DEFAULT_PLATFORM
--platform为采用该标志的命令设置默认平台
COMPOSE_DOCKER_CLI_BUILD
配置是使用 Compose 内置 python 客户端 (0) 来构建镜像,还是使用本机 docker cli (1)。默认情况下,Compose 使用 docker CLI 执行构建,这允许您使用 BuildKit 执行构建。
| 归档时间: |
|
| 查看次数: |
2268 次 |
| 最近记录: |