暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Docker实践:使用Docker部署WhoDB开源轻量级数据库管理工具

原创 江湖有缘 2025-05-31
424

Docker实践:使用Docker部署WhoDB开源轻量级数据库管理工具

一、WhoDB介绍

1.1 WhoDB 简介

WhoDB是一个轻量级(<50MB)、强大且用户友好的数据库管理工具,旨在简化数据库管理和探索任务。它结合了 Adminer 的简洁性,并通过现代的用户体验和性能优化进行了增强。WhoDB 采用 GoLang 构建,确保了卓越的速度和效率,适用于小型项目和复杂的 enterprise 级系统。WhoDB 的一大亮点是其与自然语言处理技术(如 Ollama、ChatGPT 和 Anthropic)的集成,使用户能够使用自然语言与数据进行交互,而无需编写复杂的 SQL 查询。

1.2 主要特点

  1. 与您的数据对话

    • 无需手动编写复杂 SQL 查询,只需用自然语言提问即可执行查询和管理数据。
    • 集成 Ollama、ChatGPT、Anthropic 等 AI 模型,实现智能交互式数据探索。
  2. 增强用户体验

    • 界面干净直观,易于导航,即使是新手也能轻松上手。
  3. 卓越的性能

    • 基于 GoLang 构建,提供快速响应和高效运行。
    • 前端表格虚拟化技术提升大数据集的浏览体验。
  4. 模式可视化

    • 提供交互式图表,帮助用户轻松理解数据库结构。
  5. 原地编辑与预览

    • 支持在界面上直接编辑和预览数据,提高操作效率。
  6. 广泛数据库支持

    • 兼容 PostgreSQL、MySQL、SQLite3、MongoDB、Redis、MariaDB、ElasticSearch 和 ClickHouse。
  7. 便签板(Notebook-style Query Interface)

    • 类似 Jupyter Notebook 的界面,用于执行和记录数据库查询,适合数据分析和协作。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 28.1.1 WhoDB

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署WhoDB开源轻量级数据库管理工具。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2025-05-28 08:09:06 UTC; 3 days ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 871 (dockerd) Tasks: 28 Memory: 170.9M CPU: 1min 18.962s CGroup: /system.slice/docker.service ├─ 871 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

  • 检查Docker版本
root@jeven01:~# docker -v Docker version 28.1.1, build 4eba377

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version Docker Compose version v2.35.1

四、下载WhoDB镜像

执行以下命令,拉取WhoDB容器镜像,我们使用跟的是当前最新版本0.53.0

root@jeven01:~# docker pull clidey/whodb:0.53.0 0.53.0: Pulling from clidey/whodb f18232174bc9: Already exists 5c454188a76a: Pull complete Digest: sha256:b8bf8ef80a054dfd03c163b09e4ab9fd3c754516529c132f6abe7d60fcee5cf6 Status: Downloaded newer image for clidey/whodb:0.53.0 docker.io/clidey/whodb:0.53.0

五、部署WhoDB应用

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/whodb && cd /data/whodb
  • 创建空的 sample.db文件
touch ./sample.db

5.2 编辑部署文件

如果使用docker-cli部署,可使用以下命令。(可选)

docker run -d \ --restart unless-stopped \ --name whodb \ -p 7860:8080 \ clidey/whodb

在`部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
version: "3.8" services: whodb: container_name: whodb restart: always image: clidey/whodb:0.53.0 volumes: # (optional for sqlite) - ./sample.db:/db/sample.db ports: - "7860:8080"

5.3 创建WhoDB容器

执行以下命令,创建WhoDB容器。

root@jeven01:/data/whodb# docker compose up -d WARN[0000] /data/whodb/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion [+] Running 2/2 ? Network whodb_default Created 0.1s ? Container whodb Started 0.6s

在这里插入图片描述

5.4 查看WhoDB容器状态

检查WhoDB容器状态状态,确保WhoDB容器正常启动。

root@jeven01:/data/whodb# docker compose ps WARN[0000] /data/whodb/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS whodb clidey/whodb:0.53.0 "/core" whodb 43 seconds ago Up 42 seconds 0.0.0.0:7860->8080/tcp, [::]:7860->8080/tcp

5.5 查看WhoDB容器日志

检查WhoDB容器日志,确保WhoDB服务正常运行。

root@jeven01:/data/whodb# docker compose logs WARN[0000] /data/whodb/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion whodb | time="2025-05-31T12:28:29Z" level=info msg="Starting WhoDB..." whodb | time="2025-05-31T12:28:29Z" level=info msg="Almost there..." whodb | time="2025-05-31T12:28:31Z" level=info msg="?? Welcome to WhoDB! ??" whodb | time="2025-05-31T12:28:31Z" level=info msg="Get started by visiting:" whodb | time="2025-05-31T12:28:31Z" level=info msg="http://0.0.0.0:8080" whodb | time="2025-05-31T12:28:31Z" level=info msg="Explore and enjoy working with your databases!"

在这里插入图片描述

六、访问WhoDB服务

6.1 访问初始页

浏览器地址: http://<个人的服务器IP>:7860,访问WhoDB服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

6.2 连接SQLite

我们在数据库类型中选择 Sqlite3,数据库为本地挂载的 sample.db

在这里插入图片描述

点击Submit提交,确认连接后效果如下所示:

在这里插入图片描述

七、连接Mariadb 数据库

7.1 填写数据库信息

点击 Advance 选项,展开更多设置。数据库配置信息可参考以下:

  • Database Type:Mariadb
  • Host Name:192.168.3.152(数据库服务器IP地址)
  • Username:root ( 数据库用户)
  • Password:填写测试数据库密码
  • Database:这里直接为空,也可以填写已经创建的数据库库名。
  • Port: 数据库连接端口。默认3306,这里修改为3776
    填写完毕后,确认连接即可。

在这里插入图片描述

7.2 连接效果

连接成功后,效果如下所示。具体使用方法,可参考官方使用文档:https://whodb.com/docs/。

在这里插入图片描述

八、总结

通过本次实践,我们成功部署并体验了 WhoDB 这款轻量级、功能强大的数据库管理工具。WhoDB 不仅支持多种数据库类型,还集成了 AI 对话能力,极大简化了数据查询与管理的操作门槛。其简洁直观的界面和高效的性能表现,使其适用于从开发调试到企业级应用的多种场景。未来在实际项目中,WhoDB 有望成为提升数据库操作效率的有力工具。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论