有没有办法在启用身份验证的 InfluxDB 中创建用户?免责声明:我是 InfluxDB 的新手。
我创建了一个运行 InfluxDB 的 Docker 容器,通过在 influxdb.conf
文件的 http
部分设置 auth-enabled = true
启用身份验证.
[http]
...
# Determines whether user authentication is enabled over HTTP/HTTPS.
auth-enabled = true
...
由于没有用户,我尝试使用以下命令创建一个:
docker exec influxdb influx -execute "create user admin with password 'blabla' with all privileges"
但是,这失败了
"stdout": "ERR: error authorizing query: no user provided
所以这是一个先有鸡还是先有蛋的问题。您无法创建用户,因为这首先需要以用户身份登录。
它在禁用身份验证时工作。所以我可以做到以下几点:
- 创建禁用身份验证的配置。
- 启动 InfluxDB
- 创建用户
- 更改配置以启用身份验证。
- 重启 InfluxDB
但在这种情况下,我必须将配置存储在特定的 Docker 卷中,并且当任何人无需身份验证即可登录时,它仍然会留下一个窗口。所以它可以自动化,但它不是一个优雅的解决方案。
这个问题有没有优雅的解决方案?
最佳答案
大多数数据库镜像提供了一种通过环境变量配置 admin-user
和 admin-passwort
的方法。 InfluxDB 也这样做:
https://hub.docker.com/_/influxdb/
在您的容器中设置环境变量 INFLUXDB_ADMIN_USER
和 INFLUXDB_ADMIN_PASSWORD
以使用给定密码创建管理员用户。您还可以通过环境变量 INFLUXDB_HTTP_AUTH_ENABLED
关于docker - InfluxDB 只有在 auth 关闭时才能创建第一个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49977385/