上传docker镜像和授权文件到/kingbase/docker目录

导入人大金仓数据库镜像

cd /kingbase/docker
docker load -i kdb_x86_64_V009R001C002B0014.tar

创建数据目录并授权

//删除数据目录,谨慎使用
rm -p /mnt/data
//递归创建数据目录
mkdir -p /mnt/data
//目录授权
chmod -R 755 /mnt/data

创建镜像

docker run -tid --privileged \
-p 4321:54321 \
-v /mnt/data:/home/kingbase/userdata/ \
-e NEED_START=yes  \
-e DB_USER=kingbase \
-e DB_PASSWORD=12345678ab \
-e DB_MODE=oracle \
--name kingbase  \
kingbase_v009r001c002b0014_single_x86:v1 \
/usr/sbin/init

启动数据库,查看是否能正常连接

//运行容器
docker start kingbase

//进入KingbaseES容器
docker exec -it kingbase /bin/bash

//查看数据库运行状态
sys_ctl -D /home/kingbase/userdata/data/ status


//登陆数据库客户端
ksql -Ukingbase -d test -p54321
//查看兼容模式
SHOW database_mode;

替换License文件

//拷贝授权文件到容器
docker cp /kingbase/docker/license_39892_0.dat kingbase:/home/kingbase/userdata/etc/license.dat
//进入容器
docker exec -it kingbase bash

//将文件license.dat的属主和属组均设置为kingbase用户和kingbase组。
//​参数说明:
//kingbase:kingbase:
//第一个kingbase表示文件属主(所有者),需为已存在的用户。
//第二个kingbase表示文件属组,需为已存在的用户组。
chown kingbase:kingbase /home/kingbase/userdata/etc/license.dat

//设置文件权限为755(八进制模式),对应符号模式为rwxr-xr-x
chmod 755 /home/kingbase/userdata/etc/license.dat

// ctrl+d退出容器

docker restart kingbase

docker exec -it kingbase bash
//查看授权信息
ksql -Ukingbase kingbase -c 'select get_license_info();'