Centos 7.8下使用 Docker 安装 influxdb 1.8

举报
zuozewei 发表于 2021/10/11 22:26:59 2021/10/11
【摘要】 Centos 7.8下使用 Docker 安装 influxdb 1.8

服务器环境

  • Centos 7.8
  • Docker version 19.03.8
  • influxdb 8.0.26

使用 Docker 安装 influxdb 1.8

拉取官方镜像(我们这里选择 8.0.26,如果不写后面的版本号则会自动拉取最新版):

docker pull influxdb:1.8

启动镜像,创建配置文件:

$ docker run --rm influxdb:1.8 influxd config | sudo tee /mydata/influxdb/config/influxdb.conf > /dev/null
Merging with configuration at: /etc/influxdb/influxdb.conf

influxd config 命令将在标准输出上打印完整的 InfluxDB 配置文件,由于设置了–rm 选项,Docker 将运行一个容器来执行此命令,并且容器将在退出时立即删除。

它将被重定向到我们的 InfluxDB 配置文件,而不是将配置文件打印在标准输出上。

接下来,为新创建的文件重新分配文件夹权限,否则您的容器将无法与其正确交互。

chown -R 777 /mydata/influxdb/*

启动 influxdb,挂载配置文件,数据持久化到宿主主机

docker run -p 8086:8086 \
	--name influxdb \
	--restart unless-stopped \
	-e DOCKER_INFLUXDB_INIT_USERNAME=admin \
	-e DOCKER_INFLUXDB_INIT_PASSWORD=admin@123 \
    -v /mydata/influxdb/data:/var/lib/influxdb \
    -v /mydata/influxdb/config/influxdb.conf:/etc/influxdb/influxdb.conf \
    -v /etc/localtime:/etc/localtime \
    -d influxdb:1.8

参数说明:

  • --restart unless-stopped:设置开机后自动重启容器
  • -p 8086:8086:将容器的 8086 端口映射到主机的 8086 端口
  • -v /mydata/influxdb/config/influxdb.conf:/etc/influxdb/influxdb.conf:将配置文件挂在到主机
  • -v /mydata/influxdb/data:/var/lib/influxdb:将数据文件夹挂载到主机
  • -v /etc/localtime:/etc/localtime:容器时区与宿主机同步
  • -e DOCKER_INFLUXDB_INIT_USERNAME=admin:初始化管理员用户
  • -e DOCKER_INFLUXDB_INIT_PASSWORD=admin@123:初始化管理员用户密码
  • -d influxdb:1.8:后台启动

进入 docker 本地连接 influxdb 客户端:

$ docker exec -it influxdb bash
root@f492a203a1f1:/# influx                      
Connected to http://localhost:8086 version 1.8.6
InfluxDB shell version: 1.8.6
> auth
username: admin
password: 

> show databases;
name: databases
name
----
_internal

> SHOW USERS
user  admin
----  -----
admin true

在配置文件中启用 HTTP 身份验证

为此,请退出您的容器,然后前往您为 InfluxDB 创建的配置文件夹。

[http]
  enabled = true
  bind-address = ":8086"
  auth-enabled = true

保存文件并重新启动容器以应用更改。

$ docker container restart <container_id>

测试 InfluxDB 容器

为了测试您的 InfluxDB 容器是否正确运行,您可以检查 HTTP API 是否已正确启用。

如果不指定正确的凭据,您应该无法执行查询。

$ curl -G http://localhost:8086/query --data-urlencode "q=SHOW DATABASES"
{"error":"unable to parse authentication credentials"}

身份验证已正确启用。

让我们尝试使用正确的凭据再次执行 InfluxQL 查询。

$ curl -G -u admin:admin@123 http://localhost:8086/query --data-urlencode "q=SHOW DATABASES"
{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"]]}]}]}

使用此 curl 命令,我们确保为 InfluxDB 服务器正确设置了凭据

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。