文档

使用 Docker Compose 安装 InfluxDB

使用 Docker Compose 安装并设置 InfluxDB v2,这是一个专为收集、存储、处理和可视化度量事件而构建的时间序列平台。

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

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

  • DOCKER_INFLUXDB_INIT_USERNAME_FILE:容器中包含您的初始 用户 用户名的文件的路径。
  • DOCKER_INFLUXDB_INIT_PASSWORD_FILE:容器中包含您的初始 用户 密码的文件的路径。
  • DOCKER_INFLUXDB_INIT_ADMIN_TOKEN_FILE:容器中包含用于您的初始 操作员令牌 的文件的路径。如果您未指定初始令牌,InfluxDB 会为您生成一个。

使用 Docker Compose 密钥配置

按照以下步骤使用 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:

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

      MyInitialAdminPassword
      
    • ~/.env.influxdb2-admin-token:

      MyInitialAdminToken0==
      
  4. 要设置和运行 InfluxDB,请在您的终端中输入以下命令

    docker compose up influxdb2
    

在运行时,influxdb 镜像

  1. 将来自您的宿主机文件系统的 secrets 文件挂载到容器中的 /run/secrets/<SECRET_NAME>

  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 将初始化用户、密码、组织、桶和 操作员令牌,然后记录到 stdout。您可以在 https://127.0.0.1:8086 查看 InfluxDB UI。

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

在容器中运行 InfluxDB CLI 命令

启动使用 influxdb Docker Hub 镜像的容器后,您可以在容器内使用 带有 influxinfluxd CLI 的 docker exec

管理挂载卷中的文件

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

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


此页面有帮助吗?

感谢您的反馈!


Flux 的未来

Flux 将进入维护模式。您可以继续按照当前方式使用它,而无需对您的代码进行任何更改。

了解更多

InfluxDB v3 增强功能和 InfluxDB 集群版现已上市

新功能包括更快的查询性能和管理工具,推进了 InfluxDB v3 产品线。InfluxDB 集群版现已上市。

InfluxDB v3 性能和功能

InfluxDB v3 产品线在查询性能方面取得了显著提升,并提供了新的管理工具。这些增强功能包括用于监控 InfluxDB 集群健康的操作仪表板、InfluxDB 云专享版中的单点登录(SSO)支持,以及用于令牌和数据库的新管理 API。

了解 v3 新增强功能


InfluxDB 集群版上市

InfluxDB 集群版现已上市,为您在自管理堆栈中带来 InfluxDB v3 的强大功能。

与我们就 InfluxDB 集群版交谈