如何向Docker Compose传递BuildKit参数?
给Docker Compose搭配buildx传递构建参数的方法
当使用docker compose --builder指定buildx构建器后,要传递buildx build的参数(比如--platform、--load),可以通过以下两种方式实现:
一、命令行直接传递参数
针对docker compose build命令,使用--作为分隔符,在其后添加buildx的参数即可:
docker compose --builder my-buildx-builder build -- --platform linux/amd64,linux/arm64 --load
--用来区分Docker Compose自身的参数和底层buildx命令的参数- 这里的
--platform指定构建的目标平台,--load会将构建好的镜像加载到本地Docker镜像库(注意:多平台构建时--load仅能加载单个平台镜像,若要处理多平台需改用--push推送至镜像仓库)
二、在compose配置文件中预定义参数
如果希望固定参数,无需每次命令行输入,可以在docker-compose.yml的build字段下配置:
services: your-service: build: context: . dockerfile: Dockerfile platform: linux/amd64 # 直接指定构建平台,对应buildx的--platform参数 x-bake: load: true # 通过x-bake扩展字段传递buildx的--load参数
platform是Docker Compose原生支持的字段,直接映射buildx的--platformx-bake是compose的扩展字段,用来传递buildx bake支持的参数,覆盖buildx build的对应选项
内容的提问来源于stack exchange,提问作者mobidyc
相关产品推荐
相关产品推荐

