Documentation

Install and run InfluxDB v1 Enterprise with Docker

InfluxDB v1 Enterprise provides Docker images for both meta nodes and data nodes to simplify cluster deployment and management. Using Docker allows you to quickly set up and run InfluxDB Enterprise clusters with consistent configurations.

Enterprise license required

You must have a valid license to run InfluxDB Enterprise. Contact sales@influxdata.com for licensing information or obtain a 14-day demo license via the InfluxDB Enterprise portal.

Docker image variants

InfluxDB Enterprise provides two specialized Docker images:

  • influxdb:meta: Enterprise meta node package for clustering
  • influxdb:data: Enterprise data node package for clustering

Requirements

  • Docker installed and running
  • Valid InfluxData license key
  • Network connectivity between nodes
  • At least 3 meta nodes (odd number recommended)
  • At least 2 data nodes

Set up an InfluxDB Enterprise cluster with Docker

1. Create a Docker network

Create a custom Docker network to allow communication between meta and data nodes:

docker network create influxdb
  • Copy
  • Fill window

2. Start meta nodes

Start three meta nodes using the influxdb:meta image. Each meta node requires a unique hostname and the Enterprise license key:

# Start first meta node
docker run -d \
  --name=influxdb-meta-0 \
  --network=influxdb \
  -h influxdb-meta-0 \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:meta

# Start second meta node
docker run -d \
  --name=influxdb-meta-1 \
  --network=influxdb \
  -h influxdb-meta-1 \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:meta

# Start third meta node
docker run -d \
  --name=influxdb-meta-2 \
  --network=influxdb \
  -h influxdb-meta-2 \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:meta
  • Copy
  • Fill window

3. Configure meta nodes to know each other

From the first meta node, add the other meta nodes to the cluster:

# Add the second meta node
docker exec influxdb-meta-0 \
  influxd-ctl add-meta influxdb-meta-1:8091

# Add the third meta node
docker exec influxdb-meta-0 \
  influxd-ctl add-meta influxdb-meta-2:8091
  • Copy
  • Fill window

4. Start data nodes

Start two or more data nodes using the influxdb:data image:

# Start first data node
docker run -d \
  --name=influxdb-data-0 \
  --network=influxdb \
  -h influxdb-data-0 \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:data

# Start second data node
docker run -d \
  --name=influxdb-data-1 \
  --network=influxdb \
  -h influxdb-data-1 \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:data
  • Copy
  • Fill window

5. Add data nodes to the cluster

From the first meta node, register each data node with the cluster:

# Add first data node
docker exec influxdb-meta-0 \
  influxd-ctl add-data influxdb-data-0:8088

# Add second data node
docker exec influxdb-meta-0 \
  influxd-ctl add-data influxdb-data-1:8088
  • Copy
  • Fill window

6. Verify the cluster

Check that all nodes are properly added to the cluster:

docker exec influxdb-meta-0 influxd-ctl show
  • Copy
  • Fill window

Expected output:

Data Nodes
==========
ID   TCP Address            Version
4    influxdb-data-0:8088   1.x.x-cX.X.X
5    influxdb-data-1:8088   1.x.x-cX.X.X

Meta Nodes
==========
TCP Address            Version
influxdb-meta-0:8091   1.x.x-cX.X.X
influxdb-meta-1:8091   1.x.x-cX.X.X
influxdb-meta-2:8091   1.x.x-cX.X.X
  • Copy
  • Fill window

Configuration options

Using environment variables

You can configure using environment variables with the format INFLUXDB_<SECTION>_<NAME>.

Common environment variables:

  • INFLUXDB_REPORTING_DISABLED=true
  • INFLUXDB_META_DIR=/path/to/metadir
  • INFLUXDB_ENTERPRISE_REGISTRATION_ENABLED=true
  • INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key

For all available environment variables, see how to Configure Enterprise.

Using configuration files

You can also mount custom configuration files:

# Mount custom meta configuration
docker run -d \
  --name=influxdb-meta-0 \
  --network=influxdb \
  -h influxdb-meta-0 \
  -v /path/to/influxdb-meta.conf:/etc/influxdb/influxdb-meta.conf \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:meta

# Mount custom data configuration
docker run -d \
  --name=influxdb-data-0 \
  --network=influxdb \
  -h influxdb-data-0 \
  -v /path/to/influxdb.conf:/etc/influxdb/influxdb.conf \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:data
  • Copy
  • Fill window

Exposing ports

To access your InfluxDB Enterprise cluster from outside Docker, expose the necessary ports:

# Data node with HTTP API port exposed
docker run -d \
  --name=influxdb-data-0 \
  --network=influxdb \
  -h influxdb-data-0 \
  -p 8086:8086 \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:data
  • Copy
  • Fill window

Persistent data storage

To persist data beyond container lifecycles, mount volumes:

# Meta node with persistent storage
docker run -d \
  --name=influxdb-meta-0 \
  --network=influxdb \
  -h influxdb-meta-0 \
  -v influxdb-meta-0-data:/var/lib/influxdb \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:meta

# Data node with persistent storage
docker run -d \
  --name=influxdb-data-0 \
  --network=influxdb \
  -h influxdb-data-0 \
  -v influxdb-data-0-data:/var/lib/influxdb \
  -e INFLUXDB_ENTERPRISE_LICENSE_KEY=your-license-key \
  influxdb:data
  • Copy
  • Fill window

Next steps

Once your InfluxDB Enterprise cluster is running:

  1. Set up authentication and authorization for your cluster.
  2. Enable TLS encryption for secure communication.
  3. Install and set up Chronograf for cluster management and visualization.
  4. Configure your load balancer to send client traffic to data nodes. For more information, see Data node installation.
  5. Monitor your cluster for performance and reliability.
  6. Write data with the InfluxDB API.
  7. Query data with the InfluxDB API.

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.2

Key enhancements in InfluxDB 3.2 and the InfluxDB 3 Explorer UI is now generally available.

See the Blog Post

InfluxDB 3.2 is now available for both Core and Enterprise, bringing the general availability of InfluxDB 3 Explorer, a new UI that simplifies how you query, explore, and visualize data. On top of that, InfluxDB 3.2 includes a wide range of performance improvements, feature updates, and bug fixes including automated data retention and more.

For more information, check out: