@@ -80,11 +80,10 @@ cd .\src\adservice\
8080
8181### Run Docker Compose
8282
83- - Start the demo (It can take ~ 20min the first time the command is executed as
84- all the images will be build):
83+ - Start the demo:
8584
8685``` shell
87- docker compose up -d
86+ make start
8887```
8988
9089### Verify the Webstore & the Telemetry
@@ -197,6 +196,47 @@ on each other), the owner should try to get people aligned by:
197196 the owner should bring it to the OpenTelemetry Community Demo SIG
198197 [ meeting] ( README.md#contributing ) .
199198
199+ ## Multi-platform Builds
200+
201+ Creating multi-platform builds requires docker buildx to be installed. This
202+ is part of Docker Desktop for macOS, or can be installed using
203+ ` apt install docker-buildx ` on Ubuntu.
204+
205+ To build and load the multi-platform images locally you will need to configure
206+ docker to use ` containerd ` . This can be done in Docker Desktop settings on MacOS
207+ or Windows. Please follow
208+ [ these instructions] ( https://docs.docker.com/engine/storage/containerd/#enable-containerd-image-store-on-docker-engine )
209+ to configure Docker Engine on Linux/Ubuntu.
210+
211+ You will need a multi-platform capable builder with a limiter set on parallelism
212+ to avoid errors while building the images. It is recommended to limit the
213+ parallelism to 4. This can be done by specifying a configuration file when
214+ creating the builder. The ` buildkitd.toml ` file in this repository can be used
215+ as the builder configuration file.
216+
217+ To create a multi-platform builder with a parallelism limit of 4, use the
218+ following command:
219+
220+ ``` shell
221+ make create-multiplatform-builder
222+ ```
223+
224+ A builder will be created and set as the active builder. You can check the
225+ builder status with ` docker buildx inspect ` . To build multi-platform images for
226+ linux/amd64 and linux/arm64, use the following command:
227+
228+ ``` shell
229+ make build-multiplatform
230+ ```
231+
232+ To build and push multi-platform images to a registry, ensure to set
233+ ` IMAGE_NAME ` to the name of the registry and image repository to use in the
234+ ` .env.override ` file and run:
235+
236+ ``` shell
237+ make build-multiplatform-and-push
238+ ```
239+
200240## Making a new release
201241
202242Maintainers can create a new release when desired by following these steps.
0 commit comments