1、自行安裝docker,確保docker處于運(yùn)行狀態(tài)
# 查看docker版本
docker -v
# systemd查看docker狀態(tài)
systemctl status docker

image.png
2、金倉(cāng)數(shù)據(jù)庫(kù)Docker鏡像下載地址:電科金倉(cāng)官網(wǎng) → 產(chǎn)品 → KingbaseES → 下載 → 找到Docker鏡像 → 選擇合適的版本,如V8R6 → 選擇合適的架構(gòu)下載:

image.png
3、鏡像包上傳到服務(wù)器,將鏡像加載到docker中:
# 加載鏡像,記住Loaded image:的值,這個(gè)是鏡像名
docker load -i docker_kdb_x86_64_V008R006C009B0014.tar
96723fcc60ed: Loading layer [==================================================>] 309.9MB/309.9MB
3a1017d60ea0: Loading layer [==================================================>] 22.53kB/22.53kB
cd099deb41d7: Loading layer [==================================================>] 7.168kB/7.168kB
c248d1eae5c2: Loading layer [==================================================>] 8.192kB/8.192kB
73aa8302d2a6: Loading layer [==================================================>] 8.704kB/8.704kB
34f16a65ad67: Loading layer [==================================================>] 434.5MB/434.5MB
db2c6a0abc30: Loading layer [==================================================>] 8.192kB/8.192kB
da210b7f5e34: Loading layer [==================================================>] 5.632kB/5.632kB
89e1b337aa73: Loading layer [==================================================>] 3.072kB/3.072kB
831b10f387de: Loading layer [==================================================>] 5.12kB/5.12kB
Loaded image: kingbase_v008r006c009b0014_single_x86:v1
4、創(chuàng)建容器外的數(shù)據(jù)掛載卷
# 創(chuàng)建金倉(cāng)宿主機(jī)數(shù)據(jù)存放目錄
mkdir -p /data/kingbase
chmod -R 755 /data/kingbase/
5、自定義啟動(dòng)金倉(cāng)容器:
# 自定義啟動(dòng)命令,管理員帳號(hào)kingbase,Oracle模式,--name鏡像名要與Loaded image一致
# -p 54321:54321 容器內(nèi)外均監(jiān)聽(tīng)54321端口
# -v /data/kingbase 容器外掛載卷,對(duì)應(yīng)上一步
# DB_USER、DB_PASSWORD自定義數(shù)據(jù)庫(kù)管理員帳號(hào)密碼
# DB_MODE數(shù)據(jù)庫(kù)兼容模式:以O(shè)racle運(yùn)行
# --name對(duì)應(yīng)docker images中的鏡像名
docker run -tid --privileged \
-p 54321:54321 \
-v /data/kingbase:/home/kingbase/userdata/ \
-e NEED_START=yes \
-e DB_USER=kingbase \
-e DB_PASSWORD=Testing123. \
-e DB_MODE=oracle \
--name kingbase kingbase_v008r006c009b0014_single_x86:v1 \
/usr/sbin/init
6、檢查金倉(cāng)容器是否處于運(yùn)行狀態(tài),容器外端口是否OK
docker ps -a
netstat -ntlp | grep 54321

image.png
7、設(shè)置開(kāi)機(jī)自啟動(dòng)
# 給名為 kingbase 的容器添加自啟,后續(xù)docker啟動(dòng)后,kingbase容器自啟動(dòng)
docker update --restart unless-stopped kingbase
8、客戶端連接數(shù)據(jù)庫(kù)

image.png
9、放置授權(quán)文件到掛在卷下的etc目錄
# 可執(zhí)行權(quán)限
chmod 755 /data/kingbase/etc/license.dat
10、金倉(cāng)啟停
# 停止
docker stop kingbase
# 啟動(dòng)
docker start kingbase
# 看日志
docker logs kingbase
11、查看數(shù)據(jù)庫(kù)版本信息和lic剩余時(shí)間
-- 數(shù)據(jù)庫(kù)SQL:查看版本
SELECT version();
-- 數(shù)據(jù)庫(kù)SQL:
SELECT get_license_validdays();

image.png

image.png
cat /data/kingbase/etc/license.dat也能看授權(quán)信息:

image.png
12、驅(qū)動(dòng)同樣通過(guò)電科金倉(cāng)官網(wǎng)下載與版本匹配的驅(qū)動(dòng)文件:

image.png