我必须在初始化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 角色的用户。这里可能出现什么问题?任何帮助将不胜感激
使用环境变量(适用于官方 InfluxDB docker 镜像https://hub.docker.com/_/influxdb):
INFLUXDB_ADMIN_USER
要创建的管理员用户的名称。如果未设置,则不会创建管理员用户。 INFLUXDB_ADMIN_PASSWORD
使用 INFLUXDB_ADMIN_USER 配置的管理员用户的密码。如果未设置,则会生成随机密码并将其打印到标准输出。
创建管理员用户后,您需要在 /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