用docker安装Influxdb3和influxdb-ui

用docker安装Influxdb3和influxdb-ui

1、去官网查看docker文档

官网网址:https://www.influxdata.com/downloads/?dl=oss3
在这里插入图片描述

2、拉取镜像

docker pull influxdb:3-core

在这里插入图片描述

3、 创建Influxdb在docker中使用的网络

# 创建网络
docker network create influx-network

在这里插入图片描述

4、启动influxdb容器
4.1 创建挂载目录

mkdir -p ./influxdb3/data
mkdir -p ./influxdb3/data

在这里插入图片描述
在这里插入图片描述

docker run -d \
  --name influxdb3-core \
  --network influx-network \
  -p 8181:8181 \
  -v /opt/influxdb3/data:/var/lib/influxdb3/data \
  -v /opt/influxdb3/plugins:/var/lib/influxdb3/plugins \
  influxdb:3-core \
  influxdb3 serve \
  --node-id=node0 \
  --object-store=file \
  --data-dir=/var/lib/influxdb3/data \
  --plugin-dir=/var/lib/influxdb3/plugins
逐行解析:
docker run -d

-d 参数让容器在后台(detached模式)运行,不会占用当前终端

启动后会返回容器ID,容器在后台持续运行

--name influxdb3-core

为容器指定一个易记的名称 influxdb3-core

后续可以通过这个名称来管理容器,如 docker stop influxdb3-core

避免了使用随机生成的容器ID

  --network influx-network 

设置网络为influx-network 

网络端口映射

-p 8181:8181

冒号前面是宿主机的端口,后面是容器内部的端口(如果宿主机没占用8181,那么保持一致就好)

数据持久化配置:

-v /data/influxdb3/data:/var/lib/influxdb3/data

将主机的 /data/influxdb3/data 目录挂载到容器内的 /var/lib/influxdb3/data

-v /data/influxdb3/plugins:/var/lib/influxdb3/plugins

挂载插件目录,用于扩展InfluxDB功能

镜像和启动命令:

influxdb:3-core是镜像本身,刚才已经pull过了,influxdb3 serve这是容器内执行的主命令,用于启动InfluxDB 3.0服务,serve 子命令表示以服务器模式运行

--node-id=node0

为当前节点指定唯一标识符 node0

在集群环境中用于区分不同节点

单机部署时也需要指定,便于日志和监控识别

--object-store=file

指定对象存储后端为文件系统

InfluxDB 3.0支持多种存储后端:file(本地文件)、S3、Azure Blob等

file 模式适合开发和小规模部署,数据直接存储在本地磁盘

--data-dir=/var/lib/influxdb3/data

明确指定数据存储目录

对应前面volume挂载的容器内路径

所有WAL文件、Parquet文件等都会存储在此目录

--plugin-dir=/var/lib/influxdb3/plugins

指定插件加载目录

InfluxDB 3.0启动时会扫描此目录加载可用插件

在这里插入图片描述
启动报错,由于目录权限问题
InfluxDB3 容器默认以一个非 root 用户(例如 UID 1000)的身份运行,以遵循最小权限原则,保障安全。当你使用 -v 或 --mount 将宿主机的目录挂载到容器内时,如果这个宿主机目录的所有者是 root,那么容器内的非 root 用户就没有权限向其中写入数据。

#修改目录权限
 sudo chown -R 1000:1000 /data/influxdb3
sudo chown -R 1000:1000 /data/influxdb3/data
sudo chown -R 1000:1000 /data/influxdb3/plugins

在这里插入图片描述

在这里插入图片描述
出现这个报错是由于目录权限

docker run -d \
  --name influxdb3-core \
  --network influx-network \
  -p 8181:8181 \
  -v /opt/influxdb3/data:/var/lib/influxdb3/data:z \
  -v /opt/influxdb3/plugins:/var/lib/influxdb3/plugins:z \
  --user 1000:1000 \
  influxdb:3-core \
  influxdb3 serve \
  --node-id=node0 \
  --object-store=file \
  --data-dir=/var/lib/influxdb3/data \
  --plugin-dir=/var/lib/influxdb3/plugins

得加入 --user 1000:1000
在这里插入图片描述
启动成功
5、创建令牌

docker exec -it influxdb3-core influxdb3 create token --admin

在这里插入图片描述


# 在您的主机终端中执行(不是容器内)
export INFLUXDB3_AUTH_TOKEN=把刚才的token放这里
export INFLUXDB3_AUTH_TOKEN=apiv3_p3wVViX5cJGzNfvHhMOE_3wHF3MaMPLdTBle1d5-JULiKa7SYMYHTsxfhfGdWIl-6VgAA9xrfhJVnfx2yUdewg
# 验证环境变量设置成功
echo $INFLUXDB3_AUTH_TOKEN

在这里插入图片描述

6、安装InfluxDB 3 Explorer Web UI

docker run --detach \
  --name influxdb3-explorer \
  --network influx-network \
  --publish 8888:80 \
  --publish 8889:8888 \
  --volume $(pwd)/config:/app-root/config:ro \
  --volume $(pwd)/db:/db:rw \
  --volume $(pwd)/ssl:/etc/nginx/ssl:ro \
  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/influxdata/influxdb3-ui:1.6.2  \
  --mode=admin
推荐组合使用 
docker.m.daocloud.io      # 国内老牌服务商 
docker.imgdb.de           # 德国镜像站(全球化同步)
docker-0.unsee.tech       # 亚洲节点加速站 
docker.hlmirror.com       # 国内高校镜像(理论场景专用)
docker.1ms.run            # 分钟级同步镜像站 

tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://docker.imgdb.de",
        "https://docker-0.unsee.tech",
        "https://docker.hlmirror.com"
    ]
}
EOF
sudo systemctl daemon-reload && sudo systemctl restart docker 

安装完毕之后,需要做一件事就是,为Explorer配置默认的数据库地址,因为Explorer只是一个UI界面,它需要连到我们另一个容器中的真正的influxdb数据库

在刚刚创建并挂载过的config文件夹中创建一个默认的配置文件 名为config.json,在这个文件中输入我们已经创建成功的influxdb的信息

{
  "DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181(连接地址,host.docker.internal代表docker内部网络)",
  "DEFAULT_INFLUX_DATABASE": "_internal(默认数据库名,可以换成别的库名)",
  "DEFAULT_API_TOKEN": "apiv3_TVQpr2.....(刚刚保存的token)",
  "DEFAULT_SERVER_NAME": "Local-InfluxDB3(随便起个名字)"
}

{
  "DEFAULT_INFLUX_SERVER": "http://influxdb3-core:8181",
  "DEFAULT_INFLUX_DATABASE": "_internal",
  "DEFAULT_API_TOKEN": "apiv3_p3wVViX5cJGzNfvHhMOE_3wHF3MaMPLdTBle1d5-JULiKa7SYMYHTsxfhfGdWIl-6VgAA9xrfhJVnfx2yUdewg",
  "DEFAULT_SERVER_NAME": "gree-InfluxDB3"
}

在这里插入图片描述
到这里就完全结束了

8、使用docker 安装Influxdb2

# 拉取镜像
docker pull influxdb:2.7.6

在这里插入图片描述
2、运行容器

# 创建文件夹
mkdir -p /opt/influxdb2/data
#启动容器
docker run -d -p 8083:8083 -p 8086:8086 -v /opt/influxdb2/data:/var/lib/influxdb2 --name influxdb2.7 influxdb:2.7.6

3、访问dashboard
创建成功后访问web端UI地址
http://IP地址:8086/signin
在这里插入图片描述
记住自己的token,后续会用到:

i49ostt9kDsSqa3kUL7aVbbTYq0WaZD3vbXjZyWg3L_J-ypZzCM84pb3JUrkQoB2TVhhtY8iEIFqWQU68-bK_A==

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值