From 59963d0dc575d500d1e5951c048359d1f1d7810a Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Wed, 6 Jul 2022 14:59:18 +0900 Subject: [PATCH] build: add platforms Closes issue 120 Signed-off-by: Akihiro Suda --- build.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/build.md b/build.md index 7d7eb45a..2466df5f 100644 --- a/build.md +++ b/build.md @@ -393,6 +393,42 @@ tags: - "registry/username/myrepos:my-other-tag" ``` +### platforms + +`platforms` defines a list of target [platforms](spec.md#platform). + +```yml +build: + context: "." + platforms: + - "linux/amd64" + - "linux/arm64" +``` + +When the `platforms` attribute is omitted, Compose implementations MUST include the service's platform +in the list of the default build target platforms. + +Compose implementations SHOULD report an error in the following cases: +* when the list contains multiple platforms but the implementation is incapable of storing multi-platform images +* when the list contains an unsupported platform +```yml +build: + context: "." + platforms: + - "linux/amd64" + - "unsupported/unsupported" +``` +* when the list is non-empty and does not contain the service's platform +```yml +services: + frontend: + platform: "linux/amd64" + build: + context: "." + platforms: + - "linux/arm64" +``` + ## Implementations * [docker-compose](https://docs.docker.com/compose)