3

在以前版本的 influxdb 中,我们可以使用环境变量创建一个管理员用户

influxdb:
    ...
    environment:
        INFLUXDB_HOSTNAME: "${INFLUXDB_HOSTNAME}"
        INFLUXDB_USERNAME: "${INFLUXDB_USERNAME}"
        INFLUXDB_PASSWORD: "${INFLUXDB_PASSWORD}"
    ...

但在 2.0 版中,这些环境。变量被删除

我想要实现的是,当我运行 docker-compose up my_influx_db

如果不存在,它应该创建一个默认管理员用户

到目前为止我尝试的是:

my_influx_db:
  image: quay.io/influxdb/influxdb:v2.0.3
  hostname: my_influx_db
  container_name: my_influx_db
  ports:
    - 8086:8086
  command: /bin/sh -c "exec influxd && sleep 10 && influx setup -o test_org -b test_bucket -u user1 -p testpassword -f"

docker-compose up my_influx_db启动 influxdb,但 10 秒后不运行安装脚本

创建默认管理员用户的正确方法是什么?

编辑:我设法使用以下配置运行它,但它是正确的方法吗?

command: /bin/sh -c "(sleep 10 && echo setting up user && influx setup -o test_org -b test-bucket -u influxdb -p influxdb -f) & influxd"
4

2 回答 2

5

您可以启动另一个容器,该容器将尝试创建用户。所以这是我的docker-compose.yml

version: '3'
services:
  influxdb:
    image: quay.io/influxdb/influxdb:v2.0.4
    container_name: influxdb
    volumes:
      - ./influxdbv2:/root/.influxdbv2
    ports:
      - "8086:8086"
  influxdb_cli:
    links:
      - influxdb
    image: quay.io/influxdb/influxdb:v2.0.4
    entrypoint: influx setup --bucket test_bucket -t test_token -o test_org --username=test_username --password=test_password --host=http://influxdb:8086 -f

    restart: on-failure:20
    depends_on:
      - influxdb
volumes:
  influxdbv2:

于 2021-02-27T12:28:33.477 回答
5

最新版本:influxdb 2.0.7 更容易提供创建初始管理员用户名和密码的能力

https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/docker/#influxdb-2x-initialization-credentials

在此处输入图像描述

于 2021-07-20T09:26:53.913 回答