ubuntu创建KingbaseES V8数据库镜像
环境:
docker 20.10.7
1、拉取ubuntu镜像
docker pull ubuntu:20.04
2、创建容器
docker run -it -v /opt:/mnt --name=kingbase8 --net=host --privileged=true -d ubuntu:20.04 bash
root@ubuntu:~# docker run -it -v /opt:/mnt --name=kingbase8 --net=host --privileged -d ubuntu:20.04 bash
9855a8f699c3cf06d876da9a34f245b90f9349122675efb2494c0644c329216a
note:
-v /opt:/mnt 映射主机/opt目录到/mnt目录
–net=host 指定容器共享主机网络,容器可以上外网
–name=kingbase8 指定容器名
–privileged 特权模式启动
3、进入容器
docker exec -it kingbase8 bash
root@ubuntu:~# docker exec -it kingbase8 bash
4、ubuntu镜像默认没有vim命令,安装vim、systemd等
apt update
apt install vim
apt install systemd #系统默认时间不对,不装systemd没有timedatectl命令,安装systemd过程中可以调整时区
apt install curl
apt -y install net-tools
apt -y install iputils-ping
上传安装包到宿主机/opt目录,在容器中/mnt目录下可访问安装包
5、容器默认不支持中文,需要安装zh_CN.utf8语言包
root@ubuntu:/usr/bin# apt-get install language-pack-zh-hans
##centos安装中文包:yum install kde-l10n-Chinese
修改/etc/environment(在文件的末尾追加):
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en
再修改/var/lib/locales/supported.d/local(没有这个文件就新建,同样在末尾追加):
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312
最后,执行命令:
locale-gen zh_CN.UTF-8
vim /etc/default/locale
删除全部,添加如下
LC_ALL=“zh_CN.UTF-8”
su - kingbase
vim .profile
加入
export LANGUAGE=zh_CN.UTF-8
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
6、确认宿主机时区及时间正确,不正确的话使用timedatectl调整
timedatectl set-local-rtc 1 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间
timedatectl set-timezone Asia/Shanghai 设置系统时区为上海
apt -y install ntp
apt -y install ntpdate
#通过阿里云时间服务器校准时间
ntpdate ntp1.aliyun.com
7、按通用步骤安装kingbaseES
8、在/home/kingbase目录下建立数据库服务启动脚本start.sh
vi start.sh
#!/bin/bash
export PATH=/home/kingbase/KingbaseES/Server/bin:$PATH
su - kingbase -c "/home/kingbase/KingbaseES/Server/bin/sys_ctl -D /home/kingbase/KingbaseES/data start" #启动服务
/bin/bash #保留一个终端,防止容器自动退出
给start.sh赋执行权限:chmod +x start.sh
9、把容器打成镜像
root@ubuntu:/opt# docker commit -c "CMD /home/kingbase/start.sh" kingbase8 kingbase86:20211018
10、测试由数据库镜像创建容器
root@ubuntu:/opt# docker run -it -d --name=test1 kingbase86:20211018 /home/kingbase/start.sh
e4cc7de3224f48aacd7b6813f0fd24fda02ab97efb7c6f8dbcbb8037d9d14df7
root@ubuntu:/opt# docker exec -it test1 bash
root@e4cc7de3224f:/# ps -ef|grep kingbase
root 1 0 0 01:06 pts/0 00:00:00 /bin/bash /home/kingbase/start.sh
kingbase 12 1 0 01:06 ? 00:00:00 /home/kingbase/KingbaseES/Server/bin/kingbase -D /home/kingbase/KingbaseES/data
kingbase 13 12 0 01:06 ? 00:00:00 kingbase: logger
kingbase 15 12 0 01:06 ? 00:00:00 kingbase: checkpointer
kingbase 16 12 0 01:06 ? 00:00:00 kingbase: background writer
kingbase 17 12 0 01:06 ? 00:00:00 kingbase: walwriter
kingbase 18 12 0 01:06 ? 00:00:00 kingbase: autovacuum launcher
kingbase 19 12 0 01:06 ? 00:00:00 kingbase: stats collector
kingbase 20 12 0 01:06 ? 00:00:00 kingbase: ksh writer
kingbase 21 12 0 01:06 ? 00:00:00 kingbase: ksh collector
kingbase 22 12 0 01:06 ? 00:00:00 kingbase: kwr collector
kingbase 23 12 0 01:06 ? 00:00:00 kingbase: logical replication launcher
root 37 27 0 01:07 pts/1 00:00:00 grep --color=auto kingbase
root@e4cc7de3224f:/# su - kingbase
kingbase@e4cc7de3224f:~$ ksql -Usystem test
ksql (V8.0)
输入 "help" 来获取帮助信息.
test=# \q
~
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)