Installing Using Docker
Prerequisites
Recommended Docker Version
GridGain is tested on the following Docker configuration:
-
Docker 26.1.3;
-
Docker compose 2.14.2
Docker container environment must follow other system requirements.
Recommended Operating System
GridGain is tested on the following systems:
-
Ubuntu 20.04
-
Ubuntu 22.04
-
CentOS 8
-
RockyLinux 9
-
Mac OS X 14.6
-
Windows 10
Other Linux flavors and newer versions are supported, but may have minor discrepancies in performance or stability.
When running on Linux, the following libraries are also required:
-
GNU C Library (glibc) version 2.29 or newer
-
GNU C Standard Library (libstdc) which supports GLIBCXX_3.4.26 or newer. GLIBCXX_3.4.26 is included with GCC 9.1.0. For more information on version mapping, see the GNU Official Documentation.
Recommended Java Version
GridGain is tested on the following systems:
-
Ubuntu 20.04
-
Ubuntu 22.04
-
CentOS 8
-
RockyLinux 9
-
Mac OS X 14.6
-
Windows 10
Other Linux flavors and newer versions are supported, but may have minor discrepancies in performance or stability.
When running on Linux, the following libraries are also required:
-
GNU C Library (glibc) version 2.29 or newer
-
GNU C Standard Library (libstdc) which supports GLIBCXX_3.4.26 or newer. GLIBCXX_3.4.26 is included with GCC 9.1.0. For more information on version mapping, see the GNU Official Documentation.
Running a Node
Run GridGain in a docker container using the docker run command. Docker will automatically pull the appropriate GridGain version:
docker run -d -p 10300:10300 -p 10800:10800 -p 3344:3344 gridgain/gridgain9:9.1.5
This command launches a single GridGain node. After you run the command, you can check if GridGain is running in the container logs.
Running a Cluster
You can use the docker-compose file to start an entire cluster in docker. You can download a sample docker-compose file and run a 3-node cluster:
-
Download the docker-compose file.
-
Download the docker image:
docker pull gridgain/gridgain9:9.1.5 -
Run the docker compose command.
docker compose -f docker-compose.yml up -d
3 nodes will start in docker and will be available from CLI tool that can be run locally. Remember to initialise the cluster from the command line tool before working with it.
Data and Configuration Persistence
By default, GridGain stores data and local configuration in a container. When the container is deleted, the node configuration and any data stored on the node will be lost.
Configuring Data Persistence
To persist data, you can mount a directory from your local machine to a path in the /opt/gridgain/work in the container by using the -v option. In this case, the data will be stored on your local machine and not lost with cluster reset.
docker run \
-v /local_path:/opt/gridgain/work \
gridgain/gridgain9:9.1.5
Docker Compose Configuration
When using docker compose, you can quickly configure persistence for individual nodes, and use the shared configuration file for all of them.
The example below configures the nodes in the compose file, and provides individual storage for each node:
name: gridgain9
x-gridgain-def: &gridgain-def
image: gridgain/gridgain9:9.1.5
environment:
JVM_MAX_MEM: "4g"
JVM_MIN_MEM: "4g"
# Initial node configuration from a local machine.
BOOTSTRAP_NODE_CONFIG: /opt/gridgain/bootstrapConfig/node.conf
volumes:
- ${BOOTSTRAP_NODE_CONFIG:-./cluster.conf}:/opt/gridgain/bootstrapConfig/node.conf
services:
node1:
<<: *gridgain-def
command: --node-name node1
ports:
- "10300:10300"
- "10800:10800"
# Mounts the local storage for data.
volumes:
- ./data/node1:/opt/gridgain/work
node2:
<<: *gridgain-def
command: --node-name node2
ports:
- "10301:10300"
- "10801:10800"
# Mounts the local storage for data.
volumes:
- ./data/node2:/opt/gridgain/work
node3:
<<: *gridgain-def
command: --node-name node3
ports:
- "10302:10300"
- "10802:10800"
# Mounts the local storage for data.
volumes:
- ./data/node3:/opt/gridgain/work
The above compose file assumes that there is the following node.conf file with the initial configuration that the nodes will use:
ignite {
network {
port: 3344
nodeFinder.netClusterNodes = ["node1:3344", "node2:3344", "node3:3344"]
}
}
Running CLI Tool in Docker
CLI tool is used to manage GridGain nodes. By default, docker nodes are isolated and run on different networks, so CLI tool will not be able to connect to the target container from another container. To fix that, you need to create a network and add all containers running the nodes to it.
-
Create a new network with the
network createcommand:docker network create gridgain-network
-
Add any containers with nodes that are already running to the network:
docker network connect gridgain-network {container-id} -
Start the container with the GridGain CLI tool on the same network:
docker run -p 10301:10300 -p 10801:10800 -p 3345:3344 -it --network=gridgain-network gridgain/gridgain9:9.1.5 cli
The CLI will be able to connect to the IP address of the node. If you are not sure what the address is, use the container inspect command to check it:
docker container inspect {container-id}
© 2025 GridGain Systems, Inc. All Rights Reserved. Privacy Policy | Legal Notices. GridGain® is a registered trademark of GridGain Systems, Inc.
Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation.