aarch64架构制作KES单机镜像操作指导

步骤一:准备材料说明

1、Dockerfile   #docker编译

2、initKDB.sh   #初始化数据库脚本,普通用户执行的

3、KingbaseES.tar.gz   #KES的服务器包

4、kylin_v10_mips.tar    #kylinv10的镜像包

5、rootKDB.sh     #root用户执行的,主要完成两个步骤:修改data路径权限、切换普通用户初始化数据库

 

 

步骤二:导入系统镜像

docker load -i kylin_v10_mips.tar kylinv10:v1.0

Loaded image: kdbes:v1

 

 

步骤三:创建一个目录,把准备文件放进去

[root@2 docker]# pwd

/root/docker

[root@2 docker]# ls

Dockerfile  initKDB.sh  KingbaseES.tar.gz  rootKDB.sh

 

步骤四:build镜像

docker build -t kdb_mips_kylinv10:v1 .

 

镜像完成制作。

 

其他说明:

1、持久化时数据挂载目录为:/home/test/userdata/

2、默认的数据库端口为54321,根据情况做映射

 

 

流程说明:

#cat Dockerfile

FROM kylinv10:v1.0

MAINTAINER  KDBDEV support@kingbase.com.cn

USER root

EXPOSE 54321

ENV PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin

COPY initKDB.sh /home/test/initKDB.sh

COPY rootKDB.sh /root/rootKDB.sh

COPY KingbaseES.tar.gz /home/test/KingbaseES.tar.gz

WORKDIR /home/test/

RUN tar xvf KingbaseES.tar.gz

RUN chown -R test:test KingbaseES

RUN chown -R test:test initKDB.sh

RUN rm -rf KingbaseES.tar.gz

WORKDIR /root

ENTRYPOINT ["bash","/root/rootKDB.sh"]

 

 

RootKDB.sh

[root@2 ]# cat rootKDB.sh

#!/bin/bash

 

mkdir -p /home/test/userdata/

chown -R test:test /home/test/userdata/

su - test -c "/home/test/initKDB.sh"

 

initKDB.sh

[root@2 qsruan]# cat initKDB.sh

#!/bin/bash

 

DB_PATH=/home/test/KingbaseES

DATA_DIR=/home/test/userdata/data

LOG_FILE=${DATA_DIR}/logfile

 

check_is_init(){

declare -g DATABASE_ALREADY_EXISTS

if [ -d "${DATA_DIR}" ];then

        DATABASE_ALREADY_EXISTS='true'

fi

}

 

db_init(){

        mkdir -p ${DATA_DIR}

        chown -R test:test ${DATA_DIR}

        ${DB_PATH}/bin/initdb -USYSTEM -W123456 -D${DATA_DIR} --case-insensitive

}

 

check_is_init

 

if [ -z "${DATABASE_ALREADY_EXISTS}" ];then

        db_init

fi

 

${DB_PATH}/bin/sys_ctl -D ${DATA_DIR} -l ${LOG_FILE} start

sleep 10

tailf  ${LOG_FILE}

 

posted @ 2020-08-20 11:51  缘来不是你我  阅读(399)  评论(0)    收藏  举报