docker compose 部署influxdb 1.11.8(附 influxdb 日常操作命令)

准备工作

## 官方文档及仓库
    https://influxdb-v1-docs-cn.cnosdb.com/influxdb/v1.8/administration/config/
    https://hub.docker.com/_/influxdb/tags?name=1.11.8

## 拉取镜像
    docker pull influxdb:1.11.8

## 创建influxdb的程序配置目录,与数据存储目录
    mkdir -p /opt/devops/influxdb/certs
    mkdir -p /data/influxdb
    mkdir -p /opt/devops/influxdb/certs

    # 因为这个docker容器内部的influxdb用户id和组id是1500(用其他镜像可能要先进镜像查看下)
    groupadd -g 1500 influxdb 
    useradd -u 1500 -g 1500  -M -s /sbin/nologin influxdb ; passwd -l influxdb 
    chown influxdb:influxdb /data/influxdb

## 生成10年有效期的自签证书
    cd /opt/devops/influxdb/certs
    openssl req -x509 -nodes -newkey rsa:2048 -keyout ./influxdb-selfsigned.key -out ./influxdb-selfsigned.crt -days 3650
    # 修正权限
    chown influxdb:influxdb -R /opt/devops/influxdb/certs/
    chmod 644 /opt/devops/influxdb/certs/influxdb-selfsigned.crt
    chmod 600 /opt/devops/influxdb/certs/influxdb-selfsigned.key

准备influxdb的配置文件

    cat /opt/devops/influxdb/influxdb.conf
[meta]
  dir = "/var/lib/influxdb/meta"

[data]
  dir = "/var/lib/influxdb/data"
  engine = "tsm1"
  wal-dir = "/var/lib/influxdb/wal"
## 上面是我从原始docker image中提取的,下面是自定义的
[http]
  auth-enabled = true    # 启用 HTTP/HTTPS 的用户认证

  # 设置监听端口启用https
  enabled = true
  https-enabled = true
  bind-address = ":8086"
  https-certificate = "/etc/influxdb/certs/influxdb-selfsigned.crt"
  https-private-key = "/etc/influxdb/certs/influxdb-selfsigned.key"
  # 可选:限制 TLS 最低版本(推荐 TLS 1.2+)
  # tls-min-version = "tls1.2"
  http-enabled = false         # 强制禁用 HTTP(关键设置!)

准备docker-compose.yml

    cat /opt/devops/influxdb/docker-compose.yml 
services:
  byy_influxdb:
    image: influxdb:1.11.8
    container_name: influxdb
    ports:
      - "8086:8086"  # InfluxDB HTTP API 端口
    volumes:
      - /data/influxdb:/var/lib/influxdb  # 持久化数据
      - ./certs:/etc/influxdb/certs
      - ./influxdb.conf:/etc/influxdb/influxdb.conf     # 用当前指定配置覆盖容器内的配置 
    environment:
      - INFLUXDB_ADMIN_USER=admin        # 管理员用户名(请改成自己的)
      - INFLUXDB_ADMIN_PASSWORD=admin    # 管理员密码(请改成自己的)
      - INFLUXDB_DB=haha              # 默认数据库(请改成自己的)
      #- INFLUXDB_HTTP_LOG_ENABLED=false  # 禁用 HTTP 日志
      #- INFLUXDB_REPORTING_DISABLED=true # 禁用匿名报告
    #networks: 
    #  - byy_influxdb
    restart: always

启动influxdb

## 启动
    cd /opt/devops/influxdb
    docker compose up -d

## 检查验证 HTTPS 是否关闭
    curl -v http://localhost:8086/ping
    curl -k https://localhost:8086/ping  # -k 跳过证书验证(测试用)
    influx -ssl -host 127.0.0.1
    influx -ssl -unsafeSsl -host 127.0.0.1 
    influx -ssl -unsafeSsl -host 127.0.0.1 -username admin -password admin

附、influxdb 日常操作命令

## influxdb 1版本,保留策略(Retention Policy)管理
    # ,对haha数据库,创建一个保留一年的策略(单节点,副本数写1)
    CREATE RETENTION POLICY "haha_rp_policy" ON "haha" DURATION 366d REPLICATION 1 DEFAULT
    # 修改保留策略
    ALTER RETENTION POLICY "haha_rp_policy" ON "haha" DURATION 30d DEFAULT 

    # 查看数据库haha的数据保留策略
    SHOW RETENTION POLICIES ON "haha"
    # 删除保留策略(需确保有其他策略作为默认策略)
    DROP RETENTION POLICY "haha_rp_policy" ON haha

## 用户和权限管理
    # 创建普通用户
    CREATE USER "qytdbuser" WITH PASSWORD 'Cisc0123'
    # 创建管理员用户
    CREATE USER admin WITH PASSWORD 'Cisc0123' WITH ALL PRIVILEGES
    # 删除用户
    DROP USER admin
    # 创建数据库
    CREATE DATABASE qytdb
    # 选择数据库
    USE qytdb
    # 授予数据库权限(给普通用户数据库权限)
    GRANT ALL ON qytdb TO qytdbuser         # 授予用户 qytdbuser 对数据库 qytdb 的所有权限(读写、管理等)
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1478.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/5/23作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录