一、镜像下载
二、镜像加载
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=#