概要:本文將提供vastbase數(shù)據(jù)庫如何在docker中進(jìn)行部署,以及vastvase數(shù)據(jù)庫升級后,在docker中如何導(dǎo)出導(dǎo)入數(shù)據(jù)庫的方法。
適用環(huán)境:如果和下面信息對應(yīng)不上,就需要重新做docker鏡像。
| 鏡像名稱 | os | cpu | 數(shù)據(jù)庫版本 |
|---|---|---|---|
| saopack/vastbase_g100:2.2.10.9104_amd | centos7.6以上的操作系統(tǒng) | X86_64 | Vastbase G100 V2.2.10(9662) |
1、官網(wǎng)查找對應(yīng)的鏡像:
https://hub.docker.com/r/saopack/vastbase_g100/tags

image.png
2、docker下安裝數(shù)據(jù)庫:
2.1、docker pull一下鏡像:
docker pull saopack/vastbase_g100:2.2.10.9104_amd

a02deec736a3e487e21ad88d46bffc5.jpg
2.2、查看標(biāo)簽:
docker images
2.3、創(chuàng)建數(shù)據(jù)庫用戶:
useradd vastbase
passwd vastbase
2.4、創(chuàng)建數(shù)據(jù)庫目錄并授權(quán):
mkdir -p /data/vb_data
chown -R vastbase:vastbase /data
2.5、創(chuàng)建license目錄(license不能和上面的數(shù)據(jù)庫目錄公用,會導(dǎo)致數(shù)據(jù)庫容器無法正常啟動)
注意:需提前準(zhǔn)備 license 并改名為 license ,授權(quán)vastbase用戶,并放在/vbdata/license/目錄下(在啟動命令中指定)。
mkdir -p /vbdata/license
2.6、上傳license并授權(quán)
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
參數(shù)介紹:
| 參數(shù)項 | 注釋 | 說明 |
|---|---|---|
| 宿主機ip地址及端口 | 192.168.2.151:5432 | 如果要變數(shù)據(jù)庫端口,就在這個地方改 |
| data宿主機掛載目錄 | {your_data_path} | 數(shù)據(jù)庫目錄 |
| license宿主機掛載目錄 | {your_license_path} | license目錄,不能放在數(shù)據(jù)庫目錄中 |
| -p | 可以將容器內(nèi)的數(shù)據(jù)庫連接端口映射到宿主機對應(yīng)的端口通過-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、看容器數(shù)據(jù)庫啟動日志:
docker ps -a
docker logs d3a43a15b0a0 -f

image.png
2.9、如何登錄vastbase用戶并操作數(shù)據(jù)庫:
docker ps -a
docker exec -it 5274ae5f5d6f bash

image.png
2.10、數(shù)據(jù)庫運行成功后信息驗證:

image.png
備注:可以發(fā)現(xiàn)有5432這個端口,代表數(shù)據(jù)庫端口運行起來。
3、docker數(shù)據(jù)庫升級:
3.1、先在容器中導(dǎo)出數(shù)據(jù)庫(此時的數(shù)據(jù)庫是舊版本數(shù)據(jù)庫):
先進(jìn)入容器,在vastbase用戶內(nèi)執(zhí)行:
vb_dump -p 5432 testdb -C -Ft -f /tmp/testdb.dmp
3.2、把導(dǎo)出的文件傳到服務(wù)器的/tmp目錄下
docker cp f8108bad5a18:/tmp/testdb.dmp /tmp/
cd /tmp
chown -R vastbase:vastbase testdb.dmp
3.3、把導(dǎo)出的文件從服務(wù)器的/tmp目錄下傳到鏡像的/tmp下:
docker cp /tmp/testdb.dmp d3a43a15b0a0:/tmp/
3.4、導(dǎo)入數(shù)據(jù)庫(此時的數(shù)據(jù)庫是升級后的庫):
先進(jìn)入容器,在vastbase用戶內(nèi)執(zhí)行:
vb_restore -p 5432 -d testdb -v /tmp/testdb.dmp