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 界面轻松管理您的数据库,享受轻量级工具带来的便捷体验。

相关推荐
91刘仁德6 分钟前
MySQL 数据库基础操作知识点整理
数据库·mysql·oracle
IvorySQL8 小时前
PG 日报|新增 VACUUM 全维度统计信息补丁迭代
数据库·人工智能·postgresql·ivorysql
白露与泡影10 小时前
Redis 缓存实战:雪崩、穿透、击穿一次讲透
数据库·redis·缓存
赵渝强老师11 小时前
【赵渝强老师】使用Oracle可传输的表空间迁移数据
数据库·oracle
IpdataCloud13 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun31415913 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
探索云原生14 小时前
终于搞懂 Kueue:5 个核心对象一次讲透
linux·docker·ai·云原生·kubernetes
空中湖14 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
AI服务老曹15 小时前
Docker部署AI视频分析平台参数配置说明与调优指南
人工智能·docker·音视频
蓝胖子酱15 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库