Docker - padogrid/padogrid GitHub Wiki

◀️ Kubernetes :link: Apps ▶️


With PadoGrid's built-in support for Docker, you can create and launch a Docker cluster on the fly. The following example creates a docker cluster with three (3) data grid servers (members) and launches them using Docker Compose.

create_docker -cluster mydocker -count 3
cd_docker mydocker
docker-compose up

1. Docker Hub

PadoGrid Docker images are available at the following links at Docker Hub:

2. Environment Variables

The following environment variables are supported by the container.

Environment Variable Default Description
PADOGRID_HTTPS_ENABLED false JupyterLab protocol. "false" for HTTP, "true" for HTTPS.

2.1. PadoGrid Hazelcast Dashboard (PHD) Environment Variables

The padogrid/padogrid-grafana container image currently includes only Hazelcast dashboards. It is an installer container that terminates upon installation of PHD to the specified Grafana instance. It supports the following environment variables. Please see Docker Hub for instructions on running the PHD container.

Env Variable Default Description
PADOGRID_GRAFANA_PROTOCOL http http or https
PADOGRID_GRAFANA_HOST localhost Grafana host name or address
PADOGRID_GRAFANA_PORT 3000 Grafana port number
PADOGRID_GRAFANA_USER_NAME admin Grafana user with admin privileges
PADOGRID_GRAFANA_PASSWORD admin Grafana user password
PADOGRID_GRAFANA_LABEL job Prometheus label to filter. Allowed values are job, namespace, or service. For Prometheus running on Kubernetes, this environment variable should be set to namespace or service. All others should be set to job.
PADOGRID_GRAFANA_EDITABLE false By default, all PHD dashboards are in the read-only mode. Set this enviroment variable to true to make the dashboards editable.
PADOGRID_GRAFANA_DATASOURCE_REGEX /.*/ By default, PHD includes all Prometheus data source instances defined in Grafana. Set this environment variable to a regex expression to filter data sources. The regex expression must be enclosed in forward-slashes, e.g., /.*/.

✏️ The subsequent sections are for the main container image only.

3. Starting PadoGrrid Container

It is recommended that you start PadoGrid with a volume mounted to save your PadoGrid environment. Note that you can also share the same volume with more than one PadoGrid container.

The following creates a padogrid volume and exposes JupyterLab, Hazelcast, Mosquitto, Prometheus, and Grafana ports:

# docker
docker run --name padogrid -h padogrid -d \
   --mount type=volume,source=padogrid,target=/opt/padogrid \
   -p 8888:8888 -p 1883:1883 -p 1884:1883 -p 1885:1883 \
   -p 8080:8080 -p 5701:5701 -p 5702:5702 -p 5703:5703 \
   -p 9401:9401 -p 9402:9402 -p 9403:9403 \
   -p 3000:3000 -p 9090:9090 -p 5006:5006 \
   -e PADOGRID_HTTPS_ENABLED=true padogrid/padogrid

# podman
podman run --name padogrid -h padogrid -d \
   --mount type=volume,source=padogrid,target=/opt/padogrid \
   -p 8888:8888 -p 1883:1883 -p 1884:1883 -p 1885:1883 \
   -p 8080:8080 -p 5701:5701 -p 5702:5702 -p 5703:5703 \
   -p 9401:9401 -p 9402:9402 -p 9403:9403 \
   -p 3000:3000 -p 9090:9090 -p 5006:5006 \
   -e PADOGRID_HTTPS_ENABLED=true padogrid/padogrid

3.1. Login from browser

3.2. Login from shell

# Docker
docker exec -it padogrid /bin/bash

# Podman
poman exec -it padogrid /bin/bash
Port For
3000 Grafana
5006 Hazelcast Playground Bundle
5701 Hazelcast Member 1
5702 Hazelcast Member 2
5703 Hazelcast Member 3
8080 Hazelcast Management Center
1883 Mosquitto Broker 1
1884 Mosquitto Broker 2
1885 Mosquitto Broker 3
8888 JupyterLab
9090 Prometheus
9401 Hazelcast Member 1 Debug
9402 Hazelcast Member 2 Debug
9403 Hazelcast Member 3 Debug

For a complete list of port numbers, see Default Port Numbers .

4. Removing PadoGrid Container

# docker
docker stop padogrid
docker rm padogrid

# podman
docker stop padogrid
docker rm padogrid

◀️ Kubernetes :link: Apps ▶️