docker部署WhoDB开源轻量级数据库管理工具

WhoDB 部署指南:轻量级数据库管理工具

一、WhoDB 简介

WhoDB 是一个开源的轻量级数据库管理工具,支持多种数据库类型(SQLite、MySQL、PostgreSQL 等)。其特点包括:

  • 轻量高效:资源占用低,启动快速
  • Web 界面:无需安装客户端,浏览器即可访问
  • 跨平台:支持 Docker 一键部署
  • 多数据库支持:可管理不同类型的数据库

步骤 1:创建数据目录和数据库文件

bash 复制代码
# 创建数据目录
mkdir -p /data/whodb

# 创建空的 SQLite 数据库文件(示例)
touch /data/whodb/sample.db

# 设置目录权限(确保容器可读写)
chmod -R 777 /data/whodb

步骤 2:拉取 WhoDB 镜像

bash 复制代码
docker pull clidey/whodb:0.53.0

步骤 3:启动容器

方式一:docker run 命令
bash 复制代码
docker run -d \
  --restart unless-stopped \
  --name whodb \
  -p 8080:8080 \
  -v /data/whodb/sample.db:/db/sample.db \
  clidey/whodb:0.53.0

参数说明:

参数 说明
-d 后台运行容器
--restart unless-stopped 容器退出时自动重启(除非手动停止)
--name whodb 指定容器名称
-p 8080:8080 端口映射,宿主机:容器
-v 挂载数据库文件,持久化存储
方式二:docker-compose 部署(推荐)

创建 docker-compose.yml 文件:

bash 复制代码
sudo tee /data/whodb/docker-compose.yml <<-'EOF'
version: "3.8"

services:
  whodb:
    container_name: whodb
    restart: always
    image: clidey/whodb:0.53.0
    volumes:
      - /data/whodb/sample.db:/db/sample.db
    ports:
      - "8080:8080"
EOF

启动容器:

bash 复制代码
cd /data/whodb
docker-compose up -d

步骤 4:验证部署状态

bash 复制代码
# 查看容器运行状态
docker ps | grep whodb

# 查看容器日志
docker logs whodb

四、访问 WhoDB

部署成功后,通过浏览器访问:

复制代码
http://你的服务器IP:8080

首次访问:

  • 系统会要求配置数据库连接
  • SQLite 数据库已自动挂载,可直接选择 /db/sample.db 进行连接

五、常用管理命令

bash 复制代码
# 停止容器
docker stop whodb

# 启动容器
docker start whodb

# 重启容器
docker restart whodb

# 删除容器(需先停止)
docker rm whodb

# 查看实时日志
docker logs -f whodb

# 进入容器内部
docker exec -it whodb sh

六、高级配置

6.1 修改端口映射

如需使用其他端口(如 80),修改启动命令:

bash 复制代码
docker run -d \
  --restart unless-stopped \
  --name whodb \
  -p 80:8080 \
  -v /data/whodb/sample.db:/db/sample.db \
  clidey/whodb:0.53.0

6.2 挂载多个数据库文件

bash 复制代码
docker run -d \
  --restart unless-stopped \
  --name whodb \
  -p 8080:8080 \
  -v /data/whodb/sample.db:/db/sample.db \
  -v /data/whodb/other.db:/db/other.db \
  clidey/whodb:0.53.0

6.3 配置 MySQL 连接

如需管理 MySQL 数据库,需确保容器网络与 MySQL 服务互通:

bash 复制代码
# 使用 host 网络模式(适用于 MySQL 在宿主机)
docker run -d \
  --restart unless-stopped \
  --name whodb \
  --network host \
  -v /data/whodb/sample.db:/db/sample.db \
  clidey/whodb:0.53.0

访问地址变为:http://你的服务器IP:8080


七、故障排查

问题 1:端口已被占用

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 8080

# 解决方案:更换端口或停止占用进程

问题 2:权限不足

bash 复制代码
# 确保数据目录权限正确
chmod -R 777 /data/whodb

# 检查 SELinux (CentOS/RHEL)
setenforce 0  # 临时关闭

问题 3:容器启动失败

bash 复制代码
# 查看详细错误日志
docker logs whodb --tail 50

八、版本更新

bash 复制代码
# 拉取最新镜像
docker pull clidey/whodb:latest

# 停止并删除旧容器
docker stop whodb
docker rm whodb

# 重新启动
docker run -d \
  --restart unless-stopped \
  --name whodb \
  -p 8080:8080 \
  -v /data/whodb/sample.db:/db/sample.db \
  clidey/whodb:latest

九、卸载清理

如需完全删除 WhoDB:

bash 复制代码
# 停止并删除容器
docker stop whodb
docker rm whodb

# 删除镜像
docker rmi clidey/whodb:0.53.0

# 删除数据目录(谨慎操作)
rm -rf /data/whodb

十、参考资源


部署完成后,您即可通过 Web 界面轻松管理您的数据库,享受轻量级工具带来的便捷体验。

相关推荐
Decay__9 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
小徐不徐说13 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
论文复现现场14 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
Decay__15 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
时早玖沐16 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
心梦缘-雪雁16 小时前
SQL Server 查询数据存在哪个表里
数据库
SL_staff16 小时前
制造业订单交付总踩坑?用结构化节点协同模型重构计划系统
java·开源·全栈
不悔哥16 小时前
开源 CrewTrack:ESP32 加 RFID,自己组一台刷卡考勤机
开源
lusklusklusk17 小时前
Python 巡检脚本:进程运行状态、数据库写入时效检查及邮件通知与告警
数据库·python·oracle
GeW17 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库