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

2025-07-29 01:28:27 4点赞 5收藏 0评论

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    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 Docker实践:使用Docker部署WhoDB开源轻量级数据库管理工具

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!" Docker实践:使用Docker部署WhoDB开源轻量级数据库管理工具

六、访问WhoDB服务

6.1 访问初始页

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

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

6.2 连接SQLite

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

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

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

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

七、连接Mariadb 数据库

7.1 填写数据库信息

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

  • Database Type:Mariadb

  • Host Name:192.168.3.152(数据库服务器IP地址)

  • Username:root ( 数据库用户)

  • Password:填写测试数据库密码

  • Database:这里直接为空,也可以填写已经创建的数据库库名。

  • Port: 数据库连接端口。默认3306,这里修改为3776 填写完毕后,确认连接即可。

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

7.2 连接效果

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

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

八、总结

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


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
5
扫一下,分享更方便,购买更轻松