arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Build Docker Images

hashtag
Overview

The scripts to build Pinot related docker images is located at herearrow-up-right.

You can access those scripts by running below command to checkout Pinot repo:

You can find current supported 3 images in this directory:

  • Pinot: Pinot all-in-one distribution image

  • Pinot-Presto: Presto image with Presto-Pinot Connector built-in.

  • Pinot-Superset: Superset image with Pinot connector built-in.

hashtag
Pinot

This is a docker image of .

hashtag
How to build a docker image

There is a docker build script which will build a given Git repo/branch and tag the image.

Usage:

This script will check out Pinot Repo [Pinot Git URL] on branch [Git Branch] and build the docker image for that.

The docker image is tagged as [Docker Tag].

Docker Tag: Name and tag your docker image. Default is pinot:latest.

Git Branch: The Pinot branch to build. Default is master.

Pinot Git URL: The Pinot Git Repo to build, users can set it to their own fork. Please note that, the URL is https:// based, not git://. Default is the Apache Repo: https://github.com/apache/incubator-pinot.git.

  • Example of building and tagging a snapshot on your own fork:

  • Example of building a release version:

  • Example of building current master branch as a snapshot:

hashtag
How to publish a docker image

Script docker-push.sh publishes a given docker image to your docker registry.

In order to push to your own repo, the image needs to be explicitly tagged with the repo name.

  • Example of publishing an image to dockerHub repo.

  • You can also tag a built image, then push it.

Script docker-build-and-push.sh builds and publishes this docker image to your docker registry after build.

  • Example of building and publishing an image to dockerHub repo.

hashtag
Kubernetes Examples

Please refer to for deployment examples.

hashtag
Pinot Presto

Docker image for with Pinot integration.

This docker build project is specialized for Pinot.

hashtag
How to build

Usage:

This script will check out Presto Repo [Presto Git URL] on branch [Git Branch] and build the docker image for that.

The docker image is tagged as [Docker Tag].

Docker Tag: Name and tag your docker image. Default is pinot-presto:latest.

Git Branch: The Presto branch to build. Default is master.

Presto Git URL: The Presto Git Repo to build, users can set it to their own fork. Please note that, the URL is https:// based, not git://. Default is the Apache Repo: https://github.com/prestodb/presto.git.

hashtag
How to push

hashtag
Configuration

Follow the provided by Presto for writing your own configuration files under etc directory.

hashtag
Volumes

The image defines two data volumes: one for mounting configuration into the container, and one for data.

The configuration volume is located alternatively at /home/presto/etc, which contains all the configuration and plugins.

The data volume is located at /home/presto/data.

hashtag
Kubernetes Examples

Please refer to as k8s deployment example.

hashtag
Pinot Superset

Docker image for with Pinot integration.

This docker build project is based on Project and specialized for Pinot.

hashtag
How to build

Please modify file Makefile to change image and superset_version accordingly.

Below command will build docker image and tag it as superset_version and latest.

You can also build directly with docker build command by setting arguments:

hashtag
How to push

hashtag
Configuration

Follow the provided by Apache Superset for writing your own superset_config.py.

Place this file in a local directory and mount this directory to /etc/superset inside the container. This location is included in the image's PYTHONPATH. Mounting this file to a different location is possible, but it will need to be in the PYTHONPATH.

hashtag
Volumes

The image defines two data volumes: one for mounting configuration into the container, and one for data (logs, SQLite DBs, &c).

The configuration volume is located alternatively at /etc/superset or /home/superset; either is acceptable. Both of these directories are included in the PYTHONPATH of the image. Mount any configuration (specifically the superset_config.py file) here to have it read by the app on startup.

The data volume is located at /var/lib/superset and it is where you would mount your SQLite file (if you are using that as your backend), or a volume to collect any logs that are routed there. This location is used as the value of the SUPERSET_HOME environmental variable.

hashtag
Kubernetes Examples

Please refer to as k8s deployment example.

git clone [email protected]:apache/incubator-pinot.git pinot
cd pinot/docker/images
Apache Pinotarrow-up-right
apachepinot/pinotarrow-up-right
apachepinot/pinotarrow-up-right
Kubernetes Quickstart
Prestoarrow-up-right
instructionsarrow-up-right
presto-coordinator.yamlarrow-up-right
Supersetarrow-up-right
docker-supersetarrow-up-right
instructionsarrow-up-right
superset.yamlarrow-up-right
./docker-build.sh [Docker Tag] [Git Branch] [Pinot Git URL]
./docker-build.sh pinot_fork:snapshot-5.2 snapshot-5.2 https://github.com/your_own_fork/pinot.git
./docker-build.sh pinot:release-0.1.0 release-0.1.0 https://github.com/apache/incubator-pinot.git
./docker-build.sh apachepinot/pinot:0.3.0-SNAPSHOT master
./docker-push.sh apachepinot/pinot:latest
docker tag pinot:release-0.1.0 apachepinot/pinot:release-0.1.0
docker push apachepinot/pinot:release-0.1.0
./docker-build-and-push.sh apachepinot/pinot:latest master https://github.com/apache/incubator-pinot.git
./docker-build.sh [Docker Tag] [Git Branch] [Presto Git URL]
docker push apachepinot/pinot-presto:latest
make latest
docker build \
    --build-arg NODE_VERSION=latest \
    --build-arg PYTHON_VERSION=3.6 \
    --build-arg SUPERSET_VERSION=0.34.1 \
    --tag apachepinot/pinot-superset:0.34.1 \
    --target build .
make push