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

相关推荐
Lucifer三思而后行几秒前
中国移动 BCLinux 8.8 一键安装 Oracle 26ai
数据库·oracle
djjdjdjdjjdj3 分钟前
bootstrap如何修改警告框(Alert)的边框粗细
jvm·数据库·python
HalvmånEver5 分钟前
MySQL的数据类型(一)
数据库·mysql
tjc1990100516 分钟前
golang如何使用t.Cleanup清理测试_golang t.Cleanup测试清理使用策略
jvm·数据库·python
SeSs IZED18 分钟前
Redis开启远程连接
数据库·redis·缓存
214396528 分钟前
如何提升SQL数据更新的安全性_使用行级锁与悲观锁机制
jvm·数据库·python
SPC的存折29 分钟前
8、Docker镜像瘦身
运维·docker·容器
uElY ITER35 分钟前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql
SHoM SSER1 小时前
SQL之CASE WHEN用法详解
数据库·python·sql
Caspian Wren1 小时前
通过Logstash将MySQL数据同步到ES
数据库·mysql·elasticsearch·logstash