使用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:
如果你还没有,安装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:管理员~/.env.influxdb2-admin-password:我的初始管理员密码~/.env.influxdb2-admin-token:我的初始管理员令牌0==
要设置并运行InfluxDB,请在终端中输入以下命令:
docker compose up influxdb2
在运行时,influxdb 镜像:
将
secrets文件从你的主机文件系统挂载到/run/secrets/在容器中。将环境变量分配给指定的文件——例如:
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将初始化用户、密码、组织、桶和操作员令牌,然后记录到标准输出。您可以在http://localhost:8086查看InfluxDB用户界面。
尽管Docker防止无意中暴露秘密(例如,在
docker inspect 输出中),但有权访问运行中的容器文件系统的用户可以查看这些秘密。
在容器中运行InfluxDB CLI命令
在使用 influxdb Docker Hub 镜像启动一个容器后,您可以在容器内
使用 docker exec 与 influx 和 influxd
命令行工具。
管理挂载卷中的文件
要在本地文件系统和一个卷之间复制文件,例如 InfluxDB 服务器的 config.yml 文件,请使用
docker container cp 命令。
有关更多 InfluxDB 和 Docker 配置选项,请参阅influxdb Docker Hub 镜像文档。