docker安装influxdb

以下是 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 中快速验证功能:

  1. 登录后点击左侧「Data」→「Write Data」;
  2. 选择「Line Protocol」,输入测试数据:<font style="color:rgb(0, 0, 0);">cpu_usage,host=localhost value=30.2</font>
  3. 点击「Write」,提示「Success」表示写入成功;
  4. 点击左侧「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. 重置管理员密码(忘记密码时)
  1. 进入容器内部:bash运行
bash 复制代码
docker exec -it influxdb-single /bin/bash
  1. 执行重置命令(替换新密码):bash运行
bash 复制代码
influx user password -n admin -p 新密码(如 NewAdmin@456)
  1. 退出容器:<font style="color:rgb(0, 0, 0);">exit</font>,重新登录 Web UI 即可。

五、单机部署注意事项(避坑)

  1. 端口占用 :若 8086 端口被占用,修改端口映射(如 <font style="color:rgb(0, 0, 0);">-p 8087:8086</font>),访问时用 <font style="color:rgb(0, 0, 0);">http://IP:8087</font>
  2. 防火墙开放 :CentOS 7 需开放 8086 端口(否则浏览器无法访问):bash运行
bash 复制代码
sudo firewall-cmd --permanent --add-port=8086/tcp
sudo firewall-cmd --reload
  1. 数据备份 :单机数据在 <font style="color:rgb(0, 0, 0);">/data/influxdb2/data</font>,定期备份该目录即可(如 <font style="color:rgb(0, 0, 0);">cp -r /data/influxdb2 /backup/</font>);
  2. 资源限制 :若服务器配置较低,可限制容器资源(可选):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 做可视化(单机也支持)。

如果需要扩展,后续可基于该容器做数据迁移或集群部署,当前单机部署完全满足基础使用需求。

相关推荐
IDC02_FEIYA1 小时前
服务器带宽怎么计算最大并发?服务器带宽计算公式
运维·服务器
lifejump1 小时前
NAT应用实验
运维·服务器
菜鸟小九1 小时前
mysql运维(日志)
运维·数据库·mysql
Hy行者勇哥1 小时前
Linux 系统搭建桌面级云端办公 APP(从快捷方式到自定义应用)
linux·运维·服务器
python百炼成钢1 小时前
52.Linux PWM子系统
linux·运维·服务器·驱动开发
zwm_yy1 小时前
mysql主从主备回顾
运维·mysql·adb
可可苏饼干2 小时前
ELK(Elastic Stack)日志采集与分析
linux·运维·笔记·elk
wangmengxxw2 小时前
微服务-服务配置
java·运维·微服务·云计算·服务配置
大柏怎么被偷了2 小时前
【Git】基本操作
linux·运维·git