使用Docker部署Kingbase数据库

使用Docker部署Kingbase数据库

由于公司原因,基于mysql开发的微服务架构项目需要将数据源切换到kingbase数据库,以来确保数据安全性。

目前公司使用的是基于Docker部署的微服务架构,将Kingbase也部署到Docker中,方便管理。

准备工作

  • 一台可以访问并有足够空间的服务器
  • 安装Docker
  • 下载Kingbase镜像

下载Kingbase镜像

首先打开Kingbase官方的下载中心,找到对应版本的Docker镜像,点击下载。
Kingbase下载

下载完成之后,使用XFTP将镜像tar包上传到需要部署Kingbase的服务器上。
Kingbase上传

加载镜像

1
2
3
4
5
docker load -i kdb_x86_64_V008R006C009B0014.tar

# 执行完成之后 使用docker images查看镜像

docker images

docker-images

创建Kingbase的持久化目录

1
2
3
mkdir -p /opt/kingbase/data
# 给其授权 不然会报错Permission denied
chmod -R 755 /opt/kingbase/data

以最小命令启动Kingbase容器

1
docker run -idt -p 54321:54321 -e NEED_START=yes -e DB_MODE=mysql -v /opt/kingbase/data:/home/kingbase/userdata/data --name kingbase --privileged kingbase_v008r006c009b0014_single_x86:v1 /usr/sbin/init

参数说明:

  • -idt:以交互模式运行容器,分配一个伪终端并保持容器在前台运行。
  • -p 54321:54321:将主机的54321端口映射到容器的54321端口。
  • -e NEED_START=yes:设置容器的环境变量,指定是否需要启动数据库。
  • -v /opt/kingbase/data:/home/kingbase/userdata/data:将主机的/opt/kingbase/data目录挂载到容器的/home/kingbase/userdata/data目录。
  • –name kingbase:为容器指定一个名称。
  • –privileged:赋予容器特权,以便容器可以访问主机的设备文件。
  • kingbase_v008r006c009b0014_single_x86:v1:指定要运行的镜像名称。

验证Kingbase是否启动成功

1
docker logs kingbase

docker-logs

可以看到Kingbase已经启动成功,并且监听了54321端口。

连接Kingbase

  • 可以使用Navicat或Kingbase官方提供的客户端连接Kingbase数据库。
作者

Kid

发布于

2025-05-16

更新于

2025-05-17

许可协议

评论