使用 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
如果您尚未安装,请为您的系统安装 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
中为每个密钥创建一个包含密钥值的文件 - 例如~/.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
从挂载的文件中检索密钥并运行设置。
启动 InfluxDB。
运行容器
/docker-entrypoint-initdb.d/
路径中挂载的任何自定义初始化脚本。
如果成功,InfluxDB 将初始化用户、密码、组织、桶和 操作员令牌,然后记录到 stdout。您可以在 https://127.0.0.1:8086 查看 InfluxDB UI。
尽管 Docker 防止意外泄露密钥(例如,在 docker inspect
输出中),但有权访问正在运行的容器文件系统的用户可以查看密钥。
在容器中运行 InfluxDB CLI 命令
启动使用 influxdb
Docker Hub 镜像的容器后,您可以在容器内使用 带有 influx
和 influxd
CLI 的 docker exec
。
管理挂载卷中的文件
要复制文件,例如 InfluxDB 服务器 config.yml
文件,在您的本地文件系统和卷之间,请使用 docker container cp
命令。
有关更多 InfluxDB 和 Docker 配置选项,请参阅 influxdb
Docker Hub 镜像 文档。
此页面有帮助吗?
感谢您的反馈!