Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 2.16 KB

building_docker_images.md

File metadata and controls

62 lines (45 loc) · 2.16 KB

Building Docker Images

This document contains information on how to build native zeebe docker images for other platforms than the default amd64 architecture (e.g. for Apple Silicon/M1 based Macs).

Note These instructions are meant for local development and testing (especially on ARM-based machines), not for production use.

Optional: Get the Distball

Either build the project yourself or download an existing artifact, specifying the desired version:

mvn dependency:get -B \
    -DremoteRepositories="https://artifacts.camunda.com/artifactory/zeebe-io/" \
    -DgroupId="io.camunda" -DartifactId="camunda-zeebe" \
    -Dversion="8.1.2" -Dpackaging="tar.gz" -Dtransitive=false

mvn dependency:copy -B \
    -Dartifact="io.camunda:camunda-zeebe:8.1.2:tar.gz" \
    -DoutputDirectory=./ \
    -Dmdep.stripVersion=true

Make sure BuildKit is enabled

The Dockerfile for Zeebe requires BuildKit, which is enabled by default if Docker Desktop is installed. On Linux you may need to enable it explictly by setting the environment variable

DOCKER_BUILDKIT=1

Build the Image

Now build the image for your local platform (supported for AMD64 and ARM64):

docker build --build-arg DIST=build -t my-zeebe:latest .

If you already built or downloaded a distball you can use that too:

docker build --build-arg DISTBALL=camunda-zeebe.tar.gz -t my-zeebe:latest .

If you need a specific version of the eclipse-temurin:17-jre-focal base image, you can override the default BASE_DIGEST[_AMD64|ARM64] depending on your local architecture like that: amd64: --build-arg BASE_DIGEST_AMD64="sha256:00a5775f5eb7c24a19cb76ded742cbfcc50c61f062105af9730dadde217e4390" arm64: --build-arg BASE_DIGEST_ARM64="sha256:ce46be0c4b4edd9f519e99ad68a6b5765abe577fbf1662d8ad2550838eb29823"

Use it

In your docker-compose.yaml, change camunda/zeebe to my-zeebe to use the newly created image.