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

举报
江湖有缘 发表于 2025/07/14 15:59:46 2025/07/14
【摘要】 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 有望成为提升数据库操作效率的有力工具。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。