Centos 7.8下使用 Docker 安装 influxdb 1.8
Posted zuozewei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,如果不写后面的版本号则会自动拉取最新版):
[root@vm-server ~]# docker pull influxdb:1.8
启动镜像,创建配置文件:
[root@vm-server influxdb]# docker run --rm influxdb:1.8 influxd config | sudo tee /mydata/influxdb/conf/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 客户端:
[root@vm-server]#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
保存文件并重新启动容器以应用更改。
[root@vm-server]# docker container restart <container_id>
测试 InfluxDB 容器
为了测试您的 InfluxDB 容器是否正确运行,您可以检查 HTTP API 是否已正确启用。
如果不指定正确的凭据,您应该无法执行查询。
[root@vm-server]# curl -G http://localhost:8086/query --data-urlencode "q=SHOW DATABASES"
{"error":"unable to parse authentication credentials"}
身份验证已正确启用。
让我们尝试使用正确的凭据再次执行 InfluxQL 查询。
[root@vm-server]# 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 服务器正确设置了凭据
以上是关于Centos 7.8下使用 Docker 安装 influxdb 1.8的主要内容,如果未能解决你的问题,请参考以下文章