KingbaseES V9R1C10 Docker安装操作文档
概述
本文档详细介绍KingbaseES V9R1C10版本通过Docker方式安装的完整操作流程,包括安装前准备、镜像获取、容器创建、数据库访问及常见问题处理,适用于需要快速部署KingbaseES数据库的用户。
一、安装前准备
1.1 环境要求
- 操作系统:支持Docker运行的Linux发行版(如CentOS 7/8、Ubuntu 18.04/20.04等),确保系统内核版本≥3.10
- Docker环境:已安装Docker Engine,版本≥19.03;建议配置Docker镜像加速器以提升镜像拉取速度
- 硬件资源:至少2核CPU、4GB内存、20GB可用磁盘空间(生产环境需根据实际负载调整)
- 网络要求:服务器可访问KingbaseES Docker镜像仓库(或已提前下载镜像包至本地)
1.2 前提条件
- 已拥有KingbaseES产品授权(若使用商业版镜像),或确认使用社区版镜像
- Docker服务已正常启动,可通过
systemctl status docker命令验证 - 若需对外暴露数据库端口,确保服务器防火墙已开放对应端口(默认54321)
二、安装操作步骤
2.1 获取KingbaseES Docker镜像
根据版本类型选择以下方式获取镜像:
官网下载
本地导入镜像包
若已获取离线镜像包(.tar格式),执行以下命令导入:
docker load -i kingbasees-v9r1c10-docker.tar
导入完成后,通过 docker images | grep kingbasees命令确认镜像存在。
2.2 创建并启动KingbaseES容器
使用 docker run命令创建容器,核心参数说明及完整命令如下:
核心参数说明
| 参数 | 说明 |
|---|---|
| -d | 后台运行容器 |
| --name | 指定容器名称(如kes-v9r1c10) |
| -p 54321:54321 | 端口映射,将容器内54321端口映射到宿主机54321端口 |
| -v [宿主机目录]:/data | 数据卷挂载,持久化存储数据库数据(避免容器删除后数据丢失) |
| -e SYSTEM_PWD=[密码] | 设置数据库系统用户(system)的初始密码 |
完整启动命令示例
# 创建数据存储目录
mkdir -p /opt/kingbase/data
# 启动容器(社区版示例)
docker run -d \
--name kes-v9r1c10 \
-p 54321:54321 \
-v /opt/kingbase/data:/data \
-e SYSTEM_PWD=Kingbase@123 \
kingbasees/kes-v9r1c10:community
执行命令后,通过 docker ps命令查看容器状态,若"STATUS"列显示"Up"则表示容器启动成功。
2.3 验证数据库服务
方式1:容器内验证
# 进入容器内部
docker exec -it kes-v9r1c10 /bin/bash
# 连接数据库(容器内已配置环境变量)
ksql -U system -d test
# 执行简单查询验证
select version();
\q # 退出数据库连接
方式2:宿主机远程连接
需在宿主机安装KingbaseES客户端工具,或使用第三方数据库连接工具(如DBeaver),连接信息如下:
- 主机地址:宿主机IP地址
- 端口:54321
- 数据库名:test(默认数据库)
- 用户名:system
- 密码:启动容器时设置的SYSTEM_PWD值
三、容器日常管理命令
# 停止容器
docker stop kes-v9r1c10
# 启动已停止的容器
docker start kes-v9r1c10
# 重启容器
docker restart kes-v9r1c10
# 查看容器日志
docker logs -f kes-v9r1c10
# 删除容器(需先停止)
docker rm kes-v9r1c10
# 查看容器详细信息
docker inspect kes-v9r1c10
四、常见问题及解决方法
4.1 镜像拉取缓慢或失败
问题现象:拉取镜像时进度停滞或提示"network timeout"。
解决方法:配置Docker镜像加速器(如阿里云、网易云加速器),修改/etc/docker/daemon.json文件后重启Docker服务:
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
4.2 容器启动后立即退出
问题现象:执行docker ps查看不到容器,docker logs显示数据目录权限问题。
解决方法:确保宿主机数据目录(如/opt/kingbase/data)权限为777,或修改目录所属用户组:
chmod -R 777 /opt/kingbase/data
4.3 数据库连接失败
问题现象:客户端连接时提示"connection refused"或"invalid password"。
解决方法:
- 检查容器是否正常运行:docker ps | grep kes-v9r1c10
- 确认宿主机防火墙已开放54321端口:firewall-cmd --list-ports | grep 54321(CentOS示例)
- 验证密码正确性,若忘记密码可进入容器修改:
docker exec -it kes-v9r1c10 /bin/bash
ksql -U system -d test -c "alter user system identified by '新密码';"
五、注意事项
- 生产环境中,数据卷挂载目录需选择性能较好的磁盘分区,避免使用系统盘
- 初始密码需符合复杂度要求(建议包含大小写字母、数字及特殊字符),并定期更换
- 容器运行过程中,避免直接删除数据卷目录下的文件,以免导致数据损坏
- 若需升级数据库版本,需先备份数据,再按照官方升级指南操作,不可直接替换镜像启动
评论区