无法在 InfluxDB 中创建管理员用户

问题描述 投票:0回答:2

我必须在初始化docker容器时创建InfluxDB的ADMIN角色用户。我的脚本是:

echo "=> Starting InfluxDB ..."
exec influxd

#wait for the startup of influxdb
RET=1
while [[ RET -ne 0 ]]; do
    echo "=> Waiting for confirmation of InfluxDB service startup ..."
    sleep 3
    curl -k ${API_URL}/ping 2> /dev/null
    RET=$?
done
echo ""

RUN su- curl -XPOST 'http://localhost:8086/query' --data-urlencode "q=CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES"

上面的脚本确实创建了用户,但问题是用户的角色未设置为 ADMIN。我需要一个具有 ADMIN 角色的用户。这里可能出现什么问题?任何帮助将不胜感激

docker influxdb
2个回答
1
投票

使用环境变量(适用于官方 InfluxDB docker 镜像https://hub.docker.com/_/influxdb):

INFLUXDB_ADMIN_USER

要创建的管理员用户的名称。如果未设置,则不会创建管理员用户。 INFLUXDB_ADMIN_PASSWORD

使用 INFLUXDB_ADMIN_USER 配置的管理员用户的密码。如果未设置,则会生成随机密码并将其打印到标准输出。


0
投票

创建管理员用户后,您需要在 /etc/influxdb/influxdb.conf 中启用 auth-enabled = true 并重新启动服务

或者您可以在容器部署期间创建它:

docker run --name influxdb -t \
      -e INFLUXDB_HTTP_AUTH_ENABLED="true" \
      -e INFLUXDB_DB="mydatabase" \
      -e INFLUXDB_USER="user" \
      -e INFLUXDB_USER_PASSWORD="user" \
      -e INFLUXDB_ADMIN_USER="admin" \
      -e INFLUXDB_ADMIN_PASSWORD="admin" \
      --restart unless-stopped \
      -d influxdb:1.8.10 
© www.soinside.com 2019 - 2024. All rights reserved.