概要:本文将提供vastbase数据库如何在docker中进行部署,以及vastvase数据库升级后,在docker中如何导出导入数据库的方法。
适用环境:如果和下面信息对应不上,就需要重新做docker镜像。
镜像名称 | os | cpu | 数据库版本 |
---|---|---|---|
saopack/vastbase_g100:2.2.10.9104_amd | centos7.6以上的操作系统 | X86_64 | Vastbase G100 V2.2.10(9662) |
1、官网查找对应的镜像:
https://hub.docker.com/r/saopack/vastbase_g100/tags
2、docker下安装数据库:
2.1、docker pull一下镜像:
docker pull saopack/vastbase_g100:2.2.10.9104_amd
2.2、查看标签:
docker images
2.3、创建数据库用户:
useradd vastbase
passwd vastbase
2.4、创建数据库目录并授权:
mkdir -p /data/vb_data
chown -R vastbase:vastbase /data
2.5、创建license目录(license不能和上面的数据库目录公用,会导致数据库容器无法正常启动)
注意:需提前准备 license 并改名为 license ,授权vastbase用户,并放在/vbdata/license/目录下(在启动命令中指定)。
mkdir -p /vbdata/license
2.6、上传license并授权
license放在/vbdata/license目录下
cd /vbdata/license
mv Vastbase_license_20221010_20230401 license
chown -R vastbase:vastbase /vbdata
2.7、启动容器:
初始化容器格式:
docker run -d --privileged=true -d -v {your_license_path}:/usr/local/vastbase/lic -v {your_data_path}:/home/vastbase/data -e VB_PASSWORD=Vastbase@123 -p 192.168.2.151:5432:5432 saopack/vastbase_g100:2.2.10.9104_amd
参数介绍:
参数项 | 注释 | 说明 |
---|---|---|
宿主机ip地址及端口 | 192.168.2.151:5432 | 如果要变数据库端口,就在这个地方改 |
data宿主机挂载目录 | {your_data_path} | 数据库目录 |
license宿主机挂载目录 | {your_license_path} | license目录,不能放在数据库目录中 |
-p | 可以将容器内的数据库连接端口映射到宿主机对应的端口通过-p选项 | |
-v | 将宿主机的目录映射到容器中的目录通过-v | :-------------: |
初始化容器命令
docker run -d --privileged=true -v /vbdata/license/:/usr/local/vastbase/lic -v /data/vb_data:/home/vastbase/data -e VB_PASSWORD=Vastbase@123 -p 192.168.2.151:5432:5432 saopack/vastbase_g100:2.2.10.9104_amd
2.8、看容器数据库启动日志:
docker ps -a
docker logs d3a43a15b0a0 -f
2.9、如何登录vastbase用户并操作数据库:
docker ps -a
docker exec -it 5274ae5f5d6f bash
2.10、数据库运行成功后信息验证:
备注:可以发现有5432这个端口,代表数据库端口运行起来。
3、docker数据库升级:
3.1、先在容器中导出数据库(此时的数据库是旧版本数据库):
先进入容器,在vastbase用户内执行:
vb_dump -p 5432 testdb -C -Ft -f /tmp/testdb.dmp
3.2、把导出的文件传到服务器的/tmp目录下
docker cp f8108bad5a18:/tmp/testdb.dmp /tmp/
cd /tmp
chown -R vastbase:vastbase testdb.dmp
3.3、把导出的文件从服务器的/tmp目录下传到镜像的/tmp下:
docker cp /tmp/testdb.dmp d3a43a15b0a0:/tmp/
3.4、导入数据库(此时的数据库是升级后的库):
先进入容器,在vastbase用户内执行:
vb_restore -p 5432 -d testdb -v /tmp/testdb.dmp