【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的文件,自己配置一个新的驱动:
在这里插入图片描述

### 如何在 Docker 中使用 Vastbase 数据库 #### 准备工作 为了能够在 Docker 容器内成功部署并使用 Vastbase 数据库,需先准备好必要的安装文件。这通常涉及到下载官方提供的最新版本的 Vastbase 部署包或其他依赖资源[^1]。 #### 构建自定义镜像 构建适合项目需求的 Docker 镜像是实现自动化部署的关键一步。具体操作如下所示: ```bash docker build -t rx/vastbase:2.2.15 . ``` 此命令会基于当前目录下的 `Dockerfile` 文件来创建一个新的名为 `rx/vastbase:2.2.15` 的镜像标签[^2]。 #### 启动容器实例 一旦拥有合适的镜像后,就可以利用它启动一个独立运行的服务进程——即所谓的“容器”。下面这条指令展示了怎样设置端口映射并将服务置于后台持续执行的方式: ```bash docker run -d --name vastbase \ -p 5432:5432 \ rx/vastbase:2.2.15 ``` 这里 `-p 5432:5432` 参数的作用是指定主机上的某个开放端口号对应到容器内部监听的具体地址;而 `--name vastbase` 则赋予该实例一个易于识别的名字以便后续管理维护之用。 #### 初始化配置环境 当新建立好的容器已经开始正常运作之后,可以通过交互式的 shell 终端进一步完成初始化设定任务,比如创建新的用户账号或是指定默认使用的数据库名称等重要参数: ```bash docker exec -it vastbase /bin/bash vsql -d vastbase -p 5432 CREATE USER vastbase_oracle PASSWORD 'Test@123'; CREATE DATABASE vastbase_oracle OWNER vastbase_oracle ENCODING 'UTF-8' TEMPLATE=template0; GRANT ALL PRIVILEGES ON DATABASE vastbase_oracle TO vastbase_oracle; \q exit ``` 上述脚本片段实现了进入正在运行中的容器环境中并通过 SQL 命令行工具向其中添加了一个具有完全权限的新角色及其关联的数据存储空间。 #### 远程访问控制台界面 最后还可以借助图形化的客户端应用程序(例如 DBeaver),通过网络协议安全地连接至远端服务器上托管着的目标实例来进行更加直观便捷的操作体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

球球不吃虾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值