Influxdb-cluster使用docker部署

基础环境

  • docker版本说明
bash 复制代码
注意:从 Docker CE 版本开始,docker compose(注意中间没有横线)作为官方插件集成,
安装 Docker 时一并安装;

# 安装 Docker Compose 插件
sudo yum install -y docker-compose-plugin

# 验证安装(注意命令格式为 docker compose,无横线)
docker compose version
  • docker-compose

软件安装

  • 编写docker-compose.yml集群配置文件
bash 复制代码
name: "influxdb-cluster"

services:

  influxdb-meta-01:
    image: chengshiwen/influxdb:1.8.11-c1.2.0-meta
    container_name: influxdb-meta-01
    hostname: influxdb-meta-01
    restart: unless-stopped
    volumes:
      - ./meta/meta-01/data:/var/lib/influxdb
    networks:
      influxdb-cluster:
        ipv4_address: 172.18.0.10

  influxdb-meta-02:
    image: chengshiwen/influxdb:1.8.11-c1.2.0-meta
    container_name: influxdb-meta-02
    hostname: influxdb-meta-02
    restart: unless-stopped
    volumes:
      - ./meta/meta-02/data:/var/lib/influxdb
    networks:
      influxdb-cluster:
        ipv4_address: 172.18.0.11

  influxdb-meta-03:
    image: chengshiwen/influxdb:1.8.11-c1.2.0-meta
    container_name: influxdb-meta-03
    hostname: influxdb-meta-03
    restart: unless-stopped
    volumes:
      - ./meta/meta-03/data:/var/lib/influxdb
    networks:
      influxdb-cluster:
        ipv4_address: 172.18.0.12

  influxdb-data-01:
    image: chengshiwen/influxdb:1.8.11-c1.2.0-data
    container_name: influxdb-data-01
    hostname: influxdb-data-01
    ports:
      - 8186:8086
    restart: unless-stopped
    volumes:
      - ./data/data-01/data:/var/lib/influxdb
      - ./data/data-01/conf/influxdb.conf:/etc/influxdb/influxdb.conf
    networks:
      influxdb-cluster:
        ipv4_address: 172.18.0.13

  influxdb-data-02:
    image: chengshiwen/influxdb:1.8.11-c1.2.0-data
    container_name: influxdb-data-02
    hostname: influxdb-data-02
    ports:
      - 8286:8086
    restart: unless-stopped
    volumes:
      - ./data/data-02/data:/var/lib/influxdb
      - ./data/data-02/conf/influxdb.conf:/etc/influxdb/influxdb.conf
    networks:
      influxdb-cluster:
        ipv4_address: 172.18.0.14

  nginx:
    image: nginx:latest
    container_name: influxdb-nginx
    restart: unless-stopped
    ports:
      - "8086:8086"   # 对外暴露 8086 端口
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/influxdb.conf:ro
    networks:
      influxdb-cluster:
        ipv4_address: 172.18.0.15       
    depends_on:
      - influxdb-data-01
      - influxdb-data-02

networks:
  influxdb-cluster:
    driver: bridge                         
    ipam:                  
      config:
        - subnet: 172.18.0.0/24 
  1. 切换至docker-compose.yml文件所在目录;执行docker compose up -d 运行命令执行镜像拉取并创建容器。。

注意:要持久化容器中的数据,请务必挂载所有 Meta 和 Data 节点的 /etc/influxdb 和 /var/lib/influxdb 目录。

bash 复制代码
#启动容器
docker-compose up -d

# 关闭集群
docker-compose down

# 关闭集群,并清除数据
docker-compose down -v
初始化集群
bash 复制代码
使用 docker exec 进入任意一个 **meta容器(必须是 meta 容器,不能使用 data 容器)**中执行
如下命令即可。

1.添加初始化meta节点
influxd-ctl add-meta influxdb-meta-01:8091
influxd-ctl add-meta influxdb-meta-02:8091
influxd-ctl add-meta influxdb-meta-03:8091

2.添加初始化data节点
influxd-ctl add-data influxdb-data-01:8088
influxd-ctl add-data influxdb-data-02:8088

3.查看集群信息
influxd-ctl show

常见问题汇总

  1. 拉取镜像出现失败,在运行docker compose 时出现

需要重新配置docker镜像加速器,切换至目录:/etc/docker,然后修改daemon.json文件

清除registry-mirrors节点下的配置信息,重新填写;Docker会优先从国内镜像源拉取,失败时才回退到官方源,从而有效缓解超时问题。

bash 复制代码
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://dockerpull.org",
    "https://docker.1panel.live"
  ]
}
相关推荐
智能运维指南43 分钟前
2026年ITSM系统怎么选?四款主流方案与五维评估模型
运维·itsm·嘉为蓝鲸
我命由我123451 小时前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
骇客野人1 小时前
测试环境MySQL迁移Vastbase(海量数据库)完整改造与落地实施方案
运维·服务器
迪康Defender1 小时前
终端安全实战:如何高效解决企业U盘泄密与管控难题
运维·网络·安全·web安全·终端安全管理
zly35002 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
智能运维指南2 小时前
2026 企业智能运维平台选型:私有化、信创、全链路打通该怎么权衡?
运维·嘉为蓝鲸·aiops平台·一体化运维平台
春天花会开1313 小时前
Supabase 自部署 Edge Functions 超时从 60s 延长到 360s 完整复盘
运维·云原生
当下新鲜事3 小时前
脱硫脱硝塔动力系统科普:四方DL500变频器工作原理解析
大数据·运维·物联网·业界资讯
Lsetea3 小时前
Nginx报No required SSL certificate was sent:mTLS客户端证书排查
运维·nginx·https·ssl·openssl
山岚的运维笔记4 小时前
mysql 专业笔记 -- 第 36 章:MySQL 管理
运维·数据库·笔记·后端·mysql·oracle·dba