{/* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */}
Docker 20.10 or later.
Linux (Debian and Red Hat flavors), Windows 10 or 11.
JDK 11 and later.
Run Apache Ignite in a docker container using the docker run command. Docker will automatically pull the appropriate Apache Ignite version:
docker run -d -p 10300:10300 -p 10800:10800 -p 3344:3344 ignite/ignite3:latest
:::note If you plan to store persistent data, it is recommended to mount a volume for it. Otherwise, data will be deleted when the container is removed.
Consider storing the /opt/ignite/work folder to keep application data and persistent data. :::
This command launches a single Apache Ignite node. After you run the command, you can check if Apache Ignite is running in the container logs.
You can use a docker-compose file to start an entire cluster in docker. You can create a docker-compose file and run a 3-node cluster. See the Getting Started guide for the docker-compose configuration.
:::note Docker compose version 2.23.1 or later is required to use the provided compose file. :::
docker pull apache/ignite3:3.0.0
docker compose -f docker-compose.yml up -d
3 nodes will start in Docker and will be available from the CLI tool that can be run locally. Remember to initialise the cluster from the command line tool before working with it.
:::note It is not recommended to run the CLI tool in docker. Instead, we recommend to download and install CLI tool locally. :::
CLI tool is used to manage Apache Ignite 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.
network create command:docker network create ignite-network
docker network connect ignite-network {container-id}
docker run -p 10301:10300 -p 10801:10800 -p 3345:3344 -it --network=ignite-network apache/ignite3:3.0.0 cli
:::tip You may need to mount configuration or data files. To provide them, mount the files you will use, for example:
docker run --rm -it --network=host -v /opt/etc/config.conf:/opt/ignite/etc/ignite-config.conf apache/ignite3:3.0.0 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}