金仓数据库容器安装

一、镜像下载

下载地址:镜像
官网地址:金仓
在这里插入图片描述

二、镜像加载

docker load -i .\kdb_x86_64_V009R001C002B0014.tar

在这里插入图片描述

三、运行镜像

1、设置环境变量

      docker run -idt --privileged -p ${hostport}:${containerport}  \
      –v ${hostpath}:${containerpath} \
      -e NEED_START=${need_start} \
      -e DB_USER=${username}   \
      -e DB_PASSWORD=${passwd} \
      -e DB_MODE=${dbmode}  \
      -e ENCODING=${encoding} \
      --name kingbase kingbase:v1 \
      /usr/sbin/init

数据库默认用户名:system 数据库默认密码:12345678ab 数据库默认data目录:/home/kingbase/userdata/data 金仓数据库镜像:kingbase:v1
设置数据库data目录的持久化路径时, 需要如下设置:
-v 选项冒号左侧宿主机挂载目录(e.g /mnt/data)权限需要设置755的权限(chmod -R 755 /mnt/data),不然会报权限(Permission denied)错误。
-v 选项冒号右侧为容器内的挂载路径需要设置为/home/kingbase/userdata,不然data目录无法持久化。

2、最小启动命令示例

[root /home/kingbase]# docker run -tid --privileged \
--name kingbase  \
kingbase:v1 /usr/sbin/init
c8784e857a4a08a9a810bf0591b1b78e3659f4f8ea552d5b3023cea963a216ca
[root /home/kingbase]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
c8784e857a4a        kingbase:v1         "/bin/bash /home/kin…"   3 seconds ago       Up 2 seconds                                  kingbase

3、 完整启动命令示例

[root /home/kingbase]# docker run -tid --privileged \
-p 4321:54321 \
-v /mnt/data:/home/kingbase/userdata/ \
-e NEED_START=yes  \
-e DB_USER=kingbase  \
-e DB_PASSWORD=123456 \
-e DB_MODE=oracle  \
--name kingbase  \
kingbase:v1 /usr/sbin/init
eb970ee84a8db48351a467782051a719d506da35d43f2b42385e42c1ac5bf8bb
[root /home/kingbase]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                     NAMES
eb970ee84a8d        kingbase:v1         "/bin/bash /home/kin…"   3 seconds ago       Up 2 seconds        0.0.0.0:4321->54321/tcp   kingbase

4、数据库自动运行
容器启动后,数据库即开始运行,用户无须手动启动数据库(数据库配置正确/或者处于初始态)

[root@hunter-h12-252 /home/kingbase]# docker start kingbase
kingbase
[root@hunter-h12-252 /home/kingbase]# docker exec -it kingbase /bin/bash
[kingbase@35dffd5f9021 ~]$ sys_ctl -D /home/kingbase/userdata/data/ status
sys_ctl: server is running (PID: 76)
/home/kingbase/install/kingbase/bin/kingbase "-D" "/home/kingbase/userdata/data"

5、ksql访问数据库

[kingbase@224c4a82dc50 ~]$ ksql -Ukingbase -d test -p54321
ksql (V9.0)
Type "help" for help.

WARNING:License file will expire in 30 days.

test=#