1.拉取官方的镜像
[root@localhost /]# docker pull influxdb
2.启动
`[root@localhost /]# docker run -d -p8083:8083 -p8086:8086 --expose 8090 --expose 8099 --name influxDbService influxdb
-d:deamon,后台启动
-p:port, 端口映射,宿主机端口:容器内端口;8083是influxdb的web管理工具端口,8086是influxdb的HTTP API端口
8083: Web admin管理服务的端口, http://localhost:8083
8086: HTTP API的端口
8088: 集群端口(目前还不是很清楚, 配置在全局的bind-address,默认不配置就是开启的)
--expose:允许容器接受外部传入的数据
--name:容器名称,此处为influxDbService
influxdb:镜像名`
3.进入容器内部
[root@localhost /]# docker exec -it influxDbService bash
3.1 相关操作
查询表
show measurements
4.简介:InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据(同类型的数据库还有:OpenTSDB、KairosDB、MonnetDB、druid);collectd 是C 语言写的一个系统性能采集工具;Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等。三者结合是这样的:采集数据(collectd)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。
influxdb与传统数据库的比较
库、表等比较:
influxDB | 传统数据库中的概念 |
---|---|
database | 数据库 |
measurement | 表里面的一行数据 |
points | 数据库中的表 |
influxdb数据的构成:
Point由时间戳(time)、数据(field)、标签(tags)组成。
Point属性 传统数据库中的概念
time 每个数据记录时间,是数据库中的主索引(会自动生成)
fields 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
tags 各种有索引的属性:地区,海拔
这里不得不提另一个名词:series:
所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。具体可以通过SHOW SERIES FROM "表名" 进行查询。