以下是 Docker 单机部署 InfluxDB 社区版(2.x LTS) 的简化步骤,聚焦「快速搭建、数据持久化、单机可用」,去掉冗余配置,新手也能一键完成:
一、核心前提
已完成 Docker 安装(参考之前 CentOS 7.9 Docker 安装步骤),确保 <font style="color:rgba(0, 0, 0, 0.85) !important;">docker</font> 命令可正常使用。
二、单机部署步骤(3 步搞定)
1. 创建数据持久化目录(避免数据丢失)
单机部署必须挂载本地目录,否则容器删除后数据清空:
bash
运行
bash
# 创建本地目录(自定义路径,确保磁盘空间充足)
sudo mkdir -p /data/influxdb2/data
# 赋予读写权限(容器内用户需要写入权限)
sudo chmod -R 777 /data/influxdb2
2. 拉取 InfluxDB 社区版镜像(LTS 稳定版)
选择 2.7.x LTS 版本(兼容好、稳定,适合单机使用):
bash
运行
bash
docker pull influxdb:2.7.5
- 验证镜像:
<font style="color:rgb(0, 0, 0);">docker images | grep influxdb</font>,输出包含<font style="color:rgb(0, 0, 0);">2.7.5</font>即成功。
3. 启动单机 InfluxDB 容器(核心命令)
一键启动,自动初始化管理员信息,无需额外配置:
bash
运行
bash
docker run -d \
--name influxdb-single \ # 容器名(自定义,方便管理)
--restart always \ # 服务器重启/容器崩溃自动恢复(单机必备)
-p 8086:8086 \ # 映射核心端口(Web UI + API 统一端口)
-v /data/influxdb2/data:/var/lib/influxdb2 \ # 挂载数据目录(持久化关键)
-e DOCKER_INFLUXDB_INIT_MODE=setup \ # 自动初始化模式
-e DOCKER_INFLUXDB_INIT_USERNAME=admin \ # 管理员账号(自定义)
-e DOCKER_INFLUXDB_INIT_PASSWORD=Admin@123 \ # 管理员密码(8位+字母+数字)
-e DOCKER_INFLUXDB_INIT_ORG=myorg \ # 组织名(自定义,如项目名)
-e DOCKER_INFLUXDB_INIT_BUCKET=default-bucket \ # 默认数据桶(存储数据用)
influxdb:2.7.5
- 简化说明:单机部署无需复杂配置,以上参数足够满足日常使用,核心是「数据挂载」和「自动重启」。
三、验证单机部署成功
1. 检查容器状态
bash
运行
bash
docker ps | grep influxdb-single
- 输出
<font style="color:rgb(0, 0, 0);">STATUS: Up X minutes</font>表示容器正常运行; - 若未运行,查看日志排查:
<font style="color:rgb(0, 0, 0);">docker logs influxdb-single</font>(常见问题:端口占用、目录权限)。
2. 访问 Web UI(单机可视化管理)
打开浏览器,输入:<font style="color:rgba(0, 0, 0, 0.85) !important;">http://你的服务器IP:8086</font>(本地测试用 <font style="color:rgba(0, 0, 0, 0.85) !important;">http://localhost:8086</font>):
- 登录页直接输入:
- 用户名:
<font style="color:rgb(0, 0, 0);">admin</font>(对应启动时的<font style="color:rgb(0, 0, 0);">DOCKER_INFLUXDB_INIT_USERNAME</font>) - 密码:
<font style="color:rgb(0, 0, 0);">Admin@123</font>(对应<font style="color:rgb(0, 0, 0);">DOCKER_INFLUXDB_INIT_PASSWORD</font>)
- 用户名:
- 登录后看到「数据写入、查询、仪表板」界面,说明单机部署成功。
3. 简单测试数据写入(可选)
在 Web UI 中快速验证功能:
- 登录后点击左侧「Data」→「Write Data」;
- 选择「Line Protocol」,输入测试数据:
<font style="color:rgb(0, 0, 0);">cpu_usage,host=localhost value=30.2</font>; - 点击「Write」,提示「Success」表示写入成功;
- 点击左侧「Explore」,查询刚才写入的数据,能看到
<font style="color:rgb(0, 0, 0);">cpu_usage</font>指标即正常。
四、单机常用操作(管理容器)
1. 基础操作(启动 / 停止 / 重启 / 删除)
bash
运行
bash
# 停止容器
docker stop influxdb-single
# 重启容器(配置修改后用)
docker restart influxdb-single
# 查看实时日志(排查问题)
docker logs -f influxdb-single
# 强制删除容器(需先停止,数据不会丢,因为已挂载本地)
docker rm -f influxdb-single
2. 重置管理员密码(忘记密码时)
- 进入容器内部:bash运行
bash
docker exec -it influxdb-single /bin/bash
- 执行重置命令(替换新密码):bash运行
bash
influx user password -n admin -p 新密码(如 NewAdmin@456)
- 退出容器:
<font style="color:rgb(0, 0, 0);">exit</font>,重新登录 Web UI 即可。
五、单机部署注意事项(避坑)
- 端口占用 :若 8086 端口被占用,修改端口映射(如
<font style="color:rgb(0, 0, 0);">-p 8087:8086</font>),访问时用<font style="color:rgb(0, 0, 0);">http://IP:8087</font>; - 防火墙开放 :CentOS 7 需开放 8086 端口(否则浏览器无法访问):bash运行
bash
sudo firewall-cmd --permanent --add-port=8086/tcp
sudo firewall-cmd --reload
- 数据备份 :单机数据在
<font style="color:rgb(0, 0, 0);">/data/influxdb2/data</font>,定期备份该目录即可(如<font style="color:rgb(0, 0, 0);">cp -r /data/influxdb2 /backup/</font>); - 资源限制 :若服务器配置较低,可限制容器资源(可选):bash运行
bash
# 限制最大 1G 内存、1 个 CPU 核心
docker run -d \
--name influxdb-single \
--restart always \
--memory=1g --cpus=1 \ # 资源限制
-p 8086:8086 \
-v /data/influxdb2/data:/var/lib/influxdb2 \
...(其他环境变量同上)
总结
单机部署核心是「数据持久化 + 自动重启」,以上步骤无需复杂配置,5 分钟即可完成。适合个人测试、小型监控系统、单机时序数据存储场景,后续可直接通过 Web UI 管理数据,或对接 Grafana 做可视化(单机也支持)。
如果需要扩展,后续可基于该容器做数据迁移或集群部署,当前单机部署完全满足基础使用需求。