tree: cfaaad437fab6910ac941d80a652e7244e843cd4 [path history] [tgz]
  1. pinot-base-build/
  2. pinot-base-runtime/
  3. README.md
docker/images/pinot-base/README.md

docker-pinot-base

This is the base docker image to build Apache Pinot.

How to build a docker image

Arguments:

JAVA_VERSION: The Java Build and Runtime image version. Default is 11

OPENJDK_IMAGE: Base image to use for Pinot build and runtime, e.g. arm64v8/openjdk. Default is openjdk.

Usage:

docker build -t apachepinot/pinot-base-build:openjdk11 --no-cache --network=host --build-arg JAVA_VERSION=11 -f pinot-base-build/Dockerfile .
docker build -t apachepinot/pinot-base-runtime:openjdk11 --no-cache --network=host --build-arg JAVA_VERSION=11 -f pinot-base-runtime/Dockerfile .

Note that if you are not on arm64 machine, you can still build the image by turning on the experimental feature of docker, and add --platform linux/arm64 into the docker build ... script, e.g.

docker build -t apachepinot/pinot-base-build:openjdk11-arm64v8 --platform linux/arm64 --no-cache --network=host --build-arg JAVA_VERSION=11 --build-arg OPENJDK_IMAGE=arm64v8/openjdk -f pinot-base-build/Dockerfile .
docker build -t apachepinot/pinot-base-runtime:openjdk11-arm64v8 --platform linux/arm64 --no-cache --network=host --build-arg JAVA_VERSION=11 --build-arg OPENJDK_IMAGE=arm64v8/openjdk -f pinot-base-runtime/Dockerfile .

Publish the docker image

Here is the Github Action task to build and publish pinot base docker images.

This task can be triggered manually to build the cross platform(amd64 and arm64v8) base image.

The build shell is:

docker buildx build --no-cache --platform=linux/arm64,linux/amd64 --file Dockerfile --tag apachepinot/pinot-base-build:openjdk11 --push .