用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==

6635

被折叠的 条评论
为什么被折叠?



