The base-* images are published by a Github Action https://github.com/temporalio/docker-builds/actions/workflows/release-base-image.yml
Press on Run Workflow and follow the inputs to publish your changes.
To build a new version of base docker image run:
make <base_image_name> DOCKER_IMAGE_TAG=<new_base_image_version>Check Makefile for all possible base_image_name options.
For example:
make base-builder DOCKER_IMAGE_TAG=1.3.0Learn more about docker buildx from the official doc.
Create builder container once:
make buildx-docker-containerAdd -x suffix to build target names to build using buildx for both linux/amd64 and linux/arm64.
For example:
make base-builder-x DOCKER_IMAGE_TAG=1.3.0Pass DOCKER_BUILDX_OUTPUT=registry to automatically push image to the docker hub:
make base-builder-x DOCKER_IMAGE_TAG=1.3.0 DOCKER_BUILDX_OUTPUT=registryRun:
docker manifest inspect temporalio/base-builder:1.3.0to verify that published base image was built for two architectures.
Run qemu-user-static first:
docker run --rm --privileged multiarch/qemu-user-static --reset -p yesThen run base image. For example:
docker run --rm -it --platform linux/arm64 temporalio/base-server:latest uname -m- If there is an error during build for docker-x like this:
run
error: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c apk add --update --no-cache ca-certificates tzdata bash curl vim jq mysql-client postgresql-client python2 && curl https://bootstrap.pypa.io/pip/2.7/get-pip.py | python && pip install cqlsh" did not complete successfully: exit code: 1docker run --rm --privileged linuxkit/binfmt:v0.8first. - In case of this error:
run:
#5 2.181 (4/31) Installing bash (5.1.0-r0) #5 2.370 Executing bash-5.1.0-r0.post-install #5 2.380 ERROR: bash-5.1.0-r0.post-install: script exited with error 1docker run --rm --privileged multiarch/qemu-user-static --reset -p yes docker buildx rm builder-x make docker-buildx-container docker buildx inspect --bootstrap