Documentation

使用Docker Compose安装InfluxDB

使用 Docker Compose 安装和设置 InfluxDB v2,一个专门用于收集、存储、处理和可视化指标和事件的时间序列平台。

当您使用 Docker Compose 创建 InfluxDB 容器时,您可以使用 Compose secrets 来控制对敏感凭证的访问,例如用户名、密码和令牌,并防止它们在您的 docker inspect 输出中泄露。

influxdb Docker 镜像提供以下环境变量以供与 Compose secrets 一起使用:

  • DOCKER_INFLUXDB_INIT_USERNAME_FILE: 容器中包含您初始 user 的用户名的文件路径。
  • DOCKER_INFLUXDB_INIT_PASSWORD_FILE: 容器中包含您初始 user 密码的文件路径。
  • DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: 容器中存放用于您的初始 Operator token的令牌的文件路径。 如果您没有指定初始令牌,InfluxDB 将为您生成一个。

使用 Docker Compose secrets 进行设置

按照步骤使用 Docker Compose 和 secrets 设置和运行 InfluxDB:

  1. 如果你还没有,安装Docker Desktop以适应你的系统。

  2. 将以下 compose.yaml 复制到您的项目目录中。

    # compose.yaml
    services:
      influxdb2:
        image: influxdb:2
        ports:
          - 8086:8086
        environment:
          DOCKER_INFLUXDB_INIT_MODE: setup
          DOCKER_INFLUXDB_INIT_USERNAME_FILE: /run/secrets/influxdb2-admin-username
          DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb2-admin-password
          DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: /run/secrets/influxdb2-admin-token
          DOCKER_INFLUXDB_INIT_ORG: docs
          DOCKER_INFLUXDB_INIT_BUCKET: home
        secrets:
          - influxdb2-admin-username
          - influxdb2-admin-password
          - influxdb2-admin-token
        volumes:
          - type: volume
            source: influxdb2-data
            target: /var/lib/influxdb2
          - type: volume
            source: influxdb2-config
            target: /etc/influxdb2
    secrets:
      influxdb2-admin-username:
        file: ~/.env.influxdb2-admin-username
      influxdb2-admin-password:
        file: ~/.env.influxdb2-admin-password
      influxdb2-admin-token:
        file: ~/.env.influxdb2-admin-token
    volumes:
      influxdb2-data:
      influxdb2-config:
    
  3. 对于每个秘密在 compose.yaml 中,创建一个包含秘密值的文件——例如:

    • ~/.env.influxdb2-admin-username:

      管理员
      
    • ~/.env.influxdb2-admin-password:

      我的初始管理员密码
      
    • ~/.env.influxdb2-admin-token:

      我的初始管理员令牌0==
      
  4. 要设置并运行InfluxDB,请在终端中输入以下命令:

    docker compose up influxdb2
    

在运行时,influxdb 镜像:

  1. secrets 文件从你的主机文件系统挂载到 /run/secrets/ 在容器中。

  2. 将环境变量分配给指定的文件——例如:

    environment:
      DOCKER_INFLUXDB_INIT_USERNAME_FILE: /run/secrets/influxdb2-admin-username
      DOCKER_INFLUXDB_INIT_PASSWORD_FILE: /run/secrets/influxdb2-admin-password
      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE: /run/secrets/influxdb2-admin-token
    
  3. 检索已挂载文件中的秘密并运行设置。

  4. 启动 InfluxDB。

  5. 运行任何自定义初始化脚本,挂载在容器的 /docker-entrypoint-initdb.d/ 路径内。

如果成功,InfluxDB将初始化用户、密码、组织、桶和操作员令牌,然后记录到标准输出。您可以在http://localhost:8086查看InfluxDB用户界面。

尽管Docker防止无意中暴露秘密(例如,在 docker inspect 输出中),但有权访问运行中的容器文件系统的用户可以查看这些秘密。

在容器中运行InfluxDB CLI命令

在使用 influxdb Docker Hub 镜像启动一个容器后,您可以在容器内 使用 docker execinfluxinfluxd 命令行工具

管理挂载卷中的文件

要在本地文件系统和一个卷之间复制文件,例如 InfluxDB 服务器的 config.yml 文件,请使用 docker container cp 命令

有关更多 InfluxDB 和 Docker 配置选项,请参阅influxdb Docker Hub 镜像文档。



Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: