[小白]Docker部署kingbase(人大金仓)数据库[超详细]

前言

        来,首先你需要有docker环境,你可以自己去下载你想要的kingbase版本

百度网盘 请输入提取码  密码:1234

1

一、解压

如果是自己下载的镜像就无需解压了,如果是使用的我的,则需要将其解压

# 解压
sudo docker load  -i 压缩包名 
#查看解压好的镜像
sudo docker images

二、启动镜像容器前的准备

1.将人大金仓的license放到当前文件夹下

2.创建文件夹并赋权限 

sudo mkdir -p sql_scripts

sudo chmod -R 777 sql_scripts
sudo chmod -R 777 license.dat

 

 

三、启动镜像命令

sudo docker run -d --name mykingabse 
-p 54321:54321 
--privileged 
-e PGLIENTENCODING=UTF-8 
-e PGSERVERENCODING=UTF-8 
-e TZ=Asia/Shanghai
 -e KB_PASSWORD=123456 
-e DB_USER=SYSTEM 
-e DB_PASSWORD=123456 
-e DB_MODE=oracle 
-v kingbaseData:/home/kingbase/userdata 
-v ./sql_scropts:/container/sql_scripts 
-v ./license.dat:/home/kingbase/userdata/etc/license.dat 
--restart always
 --health-cmd="ksql -U SYSTEM -W 123456 -d TEST -c 'SELECT 1'" 
--health-interval=10s
 --health-timeout=5s 
--health-retries=10 
kingbase_v008r006c008b004_single_x86:v1

3.1命令解析

-d :后台运行

--name:给自己的容器起名称

-p: 映射的端口号

--privileged: 赋予与主机同样的权限

-e:设置环境变量

-v:将目录挂载到指定文件夹下(带./代表挂载到当前目录下 如果不带/则表示挂载到默认路径下[/var/lib/docker]下)

--restart  自启

--health 检查健康状态

查看是否启动成功

使用 sudo  docker ps 命令 查看

测试

通过kingbase自带的或者使用Navicat  用户名 SYSTEM 密码 123456 进行验证测试。

 

 

### 使用 Docker Compose 部署人大金仓数据库的数据卷配置 在使用 `docker-compose` 部署人大金仓数据库时,可以通过定义 `volumes` 来实现数据的持久化存储。以下是具体的配置方法: #### 示例 `docker-compose.yml` ```yaml version: '3.8' services: kingbase: image: kingbase_v8:v1 container_name: kingbase_container restart: always ports: - "54321:54321" volumes: - ./data/kingbase:/home/kingbase/userdata/data # 设置持久化路径 privileged: true environment: - TZ=Asia/Shanghai ``` 在此配置中,通过 `volumes` 字段指定了主机上的目录 `./data/kingbase` 映射到容器内的 `/home/kingbase/userdata/data` 路径[^1]。这一步确保了即使容器被删除或重建,数据库的相关数据仍然能够保存在宿主机的指定目录下。 当容器启动后,相关配置文件(如 `kingbase.conf`, `kingbase_auto.conf`, 和 `sys_hba.conf`)会被自动写入到映射的持久化目录中[^1]。如果需要修改这些配置文件,则可以在宿主机对应的路径中编辑它们,并通过以下命令使更改生效: ```bash /home/kingbase/install/kingbase/bin/sys_ctl reload -D /home/kingbase/userdata/data/ ``` 此操作无需重启整个容器即可完成配置更新。 --- #### 关键点说明 - **数据持久化路径**: 在上述示例中,`./data/kingbase` 是宿主机上的相对路径。可以根据实际需求将其替换为绝对路径,例如 `/var/lib/docker-volumes/kingbase-data`[^1]。 - **权限管理**: 如果遇到权限问题,可能需要调整宿主机目标目录的权限,使其可由容器中的进程读取和写入。可以使用以下命令设置适当权限: ```bash chmod -R 775 ./data/kingbase chown -R 1000:1000 ./data/kingbase ``` - **环境变量支持**: 可以通过 `environment` 字段自定义时区或其他必要的参数。以上示例设置了时区为亚洲上海 (`TZ=Asia/Shanghai`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值