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:
-
https://hub.docker.com/repository/docker/padogrid/padogrid
- The main PadoGrid container image that includes JupyterLab and Hazelcast-OSS.
-
https://hub.docker.com/repository/docker/padogrid/padogrid-base
- The base PadoGrid container image for building light-weight images.
-
https://hub.docker.com/repository/docker/padogrid/padogrid-grafana
- The Grafana Padogrid container image that installs PadoGrid Grafana Dashboards to Granana instances.
-
https://hub.docker.com/repository/docker/padogrid/padogrid-mqtt
- The MQTT Padogrid container image that includes a data feed simulator for generating continous numerical data.
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
- PadoGrid URL: https://0.0.0.0:8888
- Password:
padogrid
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 ▶️