【Windows实测】Docker轻松部署VastbaseG100数据库:感谢年迈的魔法师的保姆级教程

【Windows实测】Docker轻松部署VastbaseG100数据库:感谢年迈的魔法师的保姆级教程

一、前言:为什么选择这篇教程?

作为国产分布式数据库VastbaseG100的新手,在Windows环境部署总担心环境适配问题。感谢博客园@年迈的魔法师提供的两篇博客:
《通过Dockerfile创建海量数据库VastbaseG100的docker镜像 》
《docker安装海量数据库VastbaseG100》
通过Docker方案Windows下的部署难题。本文基于原教程优化,新增
Windows专属细节
避坑指南可视化操作演示,助你30分钟内完成部署!

二、准备工作:Windows专属配置

1. 环境检查(必做!)

  • ✅ 安装Docker Desktop for Windows(启用WSL 2,分配至少4GB内存)
  • ✅ 下载@年迈的魔法师博主提供的资源包(提取码:2nqq),解压后目录结构:
    在这里插入图片描述

2. 目录共享设置

打开Docker Desktop → Settings → Resources → File Sharing,添加存放vastbase-docker的目录(如:D:\docker\vastbase),避免权限问题。

三、实战步骤:图文详解每一步

🔨 1. 构建专属Docker镜像(含许可激活)

1.1 命令行操作(Windows PowerShell)
# 进入存放Dockerfile的目录
cd D:\docker\vastbase

# 构建镜像(注意末尾的点!)thankwhite/vastbase_g100:2.2.15 名称可以替换成自己的
docker build -t thankwhite/vastbase_g100:2.2.15 .

▶️ 关键输出解读

  • 当看到Successfully tagged thankwhite/vastbase_g100:2.2.15,表示镜像构建成功
  • 耗时约10分钟,若失败检查:
    ✅ 目录共享是否开启 ✅ license.dat是否存在 ✅ 网络是否稳定
1.2 可视化验证(Docker Desktop)

打开Docker Desktop → Images,找到thankwhite/vastbase_g100,标签2.2.15,大小约1.8GB(含许可激活)。

镜像构建成功

📦 2. 创建并运行数据库容器

2.1 一键启动命令(端口映射5432)

在这里插入图片描述

docker run -d --name vastbase \
-p 5432:5432 \
-v D:\docker\vastbase\data:/home/vastbase/data \ # 数据持久化(可选)
thankwhite/vastbase_g100:2.2.15

▶️ 参数说明

  • -d:后台运行容器
  • -p 5432:5432:映射主机端口到容器端口
  • -v:挂载数据卷(建议添加,避免容器删除数据丢失)
2.2 验证容器状态
docker ps # 查看运行中容器
# 应看到CONTAINER ID,STATUS为Up

容器运行中

⚙️ 3. 配置远程连接(Windows必改!)

3.1 进入容器终端
docker exec -it vastbase /bin/bash # vastbase为容器名
3.2 修改认证文件(二选一)
# 允许局域网访问(推荐)
echo "host all all 192.168.1.0/24 sha256" >> /home/vastbase/data/vastbase/pg_hba.conf

# 允许所有IP访问(测试用)
echo "host all all 0.0.0.0/0 md5" >> /home/vastbase/data/vastbase/pg_hba.conf

▶️ 避坑提示

  • 必须使用sha256md5加密,不可用trust(安全风险)
  • 编辑后需重启数据库:vb_ctl restart -D /home/vastbase/data/vastbase

🧪 4. 测试连接:从命令行到图形工具

4.1 命令行验证(容器内)
vsql -d vastbase -p 5432 -U vastbase # 初始用户密码:vastbase

▶️ 成功进入提示符:vastbase=#

4.2 创建测试用户(生产建议)
CREATE USER app_user PASSWORD 'Test@123';
CREATE DATABASE app_db OWNER app_user;
GRANT ALL PRIVILEGES ON DATABASE app_db TO app_user;
\q # 退出
4.3 外部连通性测试(Windows PowerShell)
Test-NetConnection -ComputerName localhost -Port 5432
# 若显示TcpTestSucceeded : True,说明端口可达
4.4 图形工具配置(以DBeaver为例)
  1. 网盘中的VastbaseG100_jdbc_2.7p_2023060218.jar
  2. 打开DBeaver → 驱动管理 → 新建一个vastbase的驱动→添加文件VastbaseG100_jdbc_2.7p_2023060218.jar DBeaver配置
  3. 驱动设置:
    在这里插入图片描述
    根据自己的情况设置一下

五、常见问题:Windows用户专属解决方案

问题现象原因分析解决方法
镜像构建失败:No such fileDocker目录未共享检查Docker File Sharing设置
5432端口冲突本地已安装PostgreSQL停止本地服务,或修改映射端口:-p 5433:5432
远程连接失败pg_hba.conf未生效确认配置后执行vb_ctl restart
许可过期(3个月后)license.dat失效重新构建镜像;联系厂商获取新许可

六、总结:致敬开源精神

感谢年迈的魔法师的无私分享,让Windows用户也能轻松体验国产数据库的魅力!本文通过:

  • 🐳 Docker封装环境,屏蔽Windows路径烦恼
  • 📝 补充新手易错点(如目录共享、权限配置)
  • 🔍 可视化操作截图,降低学习门槛

下一步建议:尝试使用docker-compose实现多节点部署,或探索VastbaseG100的分布式特性。如有疑问,欢迎在评论区交流!

注:本文基于VastbaseG100 2.2.15版本,生产环境请联系厂商获取正式许可及技术支持。

(全文完)
感谢年迈的魔法师
参考:来自博主博客园-年迈的魔法师的两篇博客:
《通过Dockerfile创建海量数据库VastbaseG100的docker镜像 》
《docker安装海量数据库VastbaseG100》

该博主很贴心的给大家准备了需要的文件: 下载镜像、JDBC驱动及其他文件链接
链接:https://pan.baidu.com/s/1VoINht-X-F5i950im-6slA 提取码:2nqq
注意本文主要是讲在Windows 系统里面操作,首先下载安装好dockerdesktop
1.首先大家下载好博主给大家准备的文件:
在这里插入图片描述
1.1构建Docker 镜像
当你使用 docker build 命令构建 Docker 镜像时,会在本地 Docker 环境中生成一个新的镜像。例如,你可以使用以下命令来构建镜像:
bash
ocker build -t thankwhite/vastbase_g100:2.2.15 .
在这里插入图片描述

其中,thankwhite/vastbase_g100是你为镜像指定的名称,. 表示使用当前目录下的 Dockerfile 进行构建。
构建完成后,你可以使用 docker images 命令查看本地的镜像列表,确认新镜像是否已经生成:
bash
docker images

输出结果中会显示镜像的名称、标签、镜像 ID、创建时间和大小等信息。
在desktop中可以看到构建产物:
在这里插入图片描述
这里自己构建镜像是因为需要刷新vastbase的许可信息,为期3个月。
1.2 创建容器
在这里插入图片描述可以使用命令行:
docker run -d --name vastbase
-p 5432:5432
thankwhite/vastbase_g100:2.2.15
2.修改pg_hba.conf文件
2.1进入容器的命令行 docker exec -it vastbase1 /bin/bash
2.2 echo “host all all 192.168.22.0/24 sha256” >> /home/vastbase/data/vastbase/pg_hba.conf
当然可以echo “host all all 0.0.0.0/0 md5” >> /home/vastbase/data/vastbase/pg_hba.conf
这里看个人需求,但是必须有加密条件,不能是trust
也可以直接去编辑该文件vi /home/vastbase/data/vastbase/pg_hba.conf
2.3 修改玩配置需要重启数据库:vb_ctl restart -D /home/vastbase/data/vastbase
3.进入数据创建用户测试数据等
3.1
连接数据库 vsql -d vastbase -p 5432
3.2
CREATE USER vastbase_oracle PASSWORD ‘Test@123’;
CREATE DATABASE vastbase_oracle OWNER vastbase_oracle ENCODING ‘UTF-8’ template = template0;
GRANT ALL PRIVILEGES TO vastbase_oracle;
这样我们之后可以使用vsql -U vastbase_oracle -d vastbase_oracle -W Test@123来登录
4.验证连通性
可以使用powershell 执行Test-NetConnection -ComputerName localhost -Port 5432 看看5432的连通性。
如果之前安装过pg数据端口也设置的是5432,就把之前的pg的server关闭,或者修改我们容器的端口映射。
ComputerName : localhost
RemoteAddress : 127.0.0.1
RemotePort : 5432
InterfaceAlias : Loopback Pseudo-Interface 1
SourceAddress : 127.0.0.1
TcpTestSucceeded : True
如果TcpTestSucceeded : True 说明可以用
我们可以使用Navicat创建连接,使用pg小象数据库社区版本就可以了。
当然也可以使用年迈的魔法师说的DBeaver方式,需要使用网盘里面的jdbc的文件,自己配置一个新的驱动:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

球球不吃虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值