使用 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:容器中包含用于您的初始Operator 令牌的令牌的文件路径。如果您未指定初始令牌,InfluxDB 将为您生成一个。
使用 Docker Compose secrets 进行设置
按照步骤使用 Docker Compose 和 secrets 设置和运行 InfluxDB
如果尚未安装,请为您的系统安装 Docker Desktop。
将以下
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:对于
compose.yaml中的每个 secret,创建一个包含 secret 值的文件,例如~/.env.influxdb2-admin-username:admin~/.env.influxdb2-admin-password:MyInitialAdminPassword~/.env.influxdb2-admin-token:MyInitialAdminToken0==
要设置和运行 InfluxDB,请在终端中输入以下命令
docker compose up influxdb2
在运行时,influxdb 镜像
将
secrets文件从您的主机文件系统挂载到容器中的/run/secrets/<SECRET_NAME>。将环境变量分配给指定的文件,例如
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从挂载的文件中检索 secrets 并运行 setup。
启动 InfluxDB。
运行容器的
/docker-entrypoint-initdb.d/路径内挂载的任何自定义初始化脚本。
如果成功,InfluxDB 将初始化用户、密码、组织、存储桶和Operator 令牌,然后记录到 stdout。您可以在 https://:8086 查看 InfluxDB UI。
尽管 Docker 可以防止意外暴露 secrets(例如,在 docker inspect 输出中),但有权访问正在运行的容器的文件系统的用户可以查看 secrets。
在容器中运行 InfluxDB CLI 命令
在使用 influxdb Docker Hub 镜像启动容器后,您可以使用容器内的 docker exec 和 influx 以及 influxd CLI。
管理挂载卷中的文件
要在本地文件系统和卷之间复制文件(例如 InfluxDB 服务器 config.yml 文件),请使用 docker container cp 命令。
有关更多 InfluxDB 和 Docker 配置选项,请参阅 influxdb Docker Hub 镜像 文档。
此页是否对您有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户可以联系 InfluxData 支持。