在苹果 MacOS 上基于 Docker 容器运行人大金仓(Kingbase)V8 R3 数据库的教程
尊贵的苹果开发者,在国产化适配时是否很烦恼国产数据库没有提供 MacOS 运行环境下的安装文件?本文将带你在 MacOS 上基于 Docker 容器来运行国产化数据库:人大金仓数据库(Kingbase),其他国产数据库也是可以这样封装的,只不过我暂时没有需要就没有封装。
环境准备
首先,你的 MacOS 上需要安装 Docker,作为开发者的你应该装好了吧,Docker 的安装不是本文的重点,所以就不在此赘述了,默认已经安装好Docker。
然后,在你的 MacOS 上新建一个文件夹,作为数据库的数据目录挂载,要不然 Docker 容器中无法保存我们的数据,我这里新建到了 /opt/kingbase/data,然后要给 Docker 访问这个目录的权限,我直接把 /opt 权限都给 Docker 了,设置的路径是:Preferences -> Resources -> File Sharing:
然后是准备一个 license.dat 文件,这个在官网就可以下载开发版的授权文件,我的 Git 仓库里也有,开发版的授权文件可以解锁所有功能,但是限制连接数10个,开发够用了,注意设置自己的数据库连接池最大连接数就行。
代码仓库
Github:https://github.com/renfei/kingbase-es-v8-r3-docker.git
码云:https://gitee.com/rnf/kingbase-es-v8-r3-docker.git
Gitlab:https://gitlab.com/renfei/kingbase-es-v8-r3-docker.git
构建Docker镜像
打开命令行,cd 到你准备下载的目录下,然后克隆、cd 进目录、开始构建Docker镜像:
git clone https://github.com/renfei/kingbase-es-v8-r3-docker.git
cd kingbase-es-v8-r3-docker
docker build -t kingbase:v8r3 .
如果是国内用户,可以使用我的码云仓库地址:https://gitee.com/rnf/kingbase-es-v8-r3-docker.git,注意最后一步构建Docker镜像,最后有个“点”不要忘记。
启动运行容器
等待构建完成,使用构建的镜像启动运行容器:
docker run -d --name kingbase -p 54321:54321 -e SYSTEM_PWD=SYSTEM -v /opt/kingbase/data:/opt/kingbase/data -v /opt/kingbase/license.dat:/opt/kingbase/Server/bin/license.dat kingbase:v8r3
这里说明一下参数:
--name: 容器名称
-p: 端口映射
-e: 默认用户SYSTEM,通过环境变量SYSTEM_PWD指定初始化数据库时的默认用户密码
-v: 挂载宿主机的一个目录,这里挂载了数据目录和license文件
到这里,已经在 MacOS 上基于 Docker 运行起来了 人大金仓 Kingbase 数据库,可以使用客户端去连接了,端口是 54321。
常见问题 Q&A
FATAL: lock file kingbase.pid already exists
提示:FATAL: lock file kingbase.pid already exists。是因为 docker 容器被关闭了数据库还没来得及停机,我们去数据目录下把 kingbase.pid 文件删除掉即可,数据目录就是上面映射本机目录的,我的教程里是在 /opt/kingbase/data/。
kingbase: superuser_reserved_connections must be less than max_connections
日志提示:kingbase: superuser_reserved_connections must be less than max_connections,并且无法连接数据库。我们还是先去数据目录下找到 kingbase.conf 配置文件,里面有两个:
#superuser_reserved_connections = 10 # (change requires restart)
#super_manager_reserved_connections = 5 # (change requires restart)
我们把前面第一个井号去掉,然后把数字都改成 1 再启动。
商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。- 2023-01-29 17:29:31
- Lishui, Zhejiang, China
- 回复
- 2022-03-25 11:34:53
- Guangzhou, Guangdong, China
- 回复
- 2022-03-25 11:46:21
- Guangzhou, Guangdong, China
- 回复
- 2022-03-21 11:04:19
- Quzhou, Zhejiang, China
- 回复
- 2022-03-21 13:59:52
- Beijing, Beijing, China
- 回复
- 2022-03-09 23:35:07
- Chengdu, Sichuan, China
- 回复
- 2022-03-09 23:33:40
- Chengdu, Sichuan, China
- 回复
- 2022-03-10 09:44:31
- Beijing, Beijing, China
- 回复
- 2022-03-08 16:06:07
- Quzhou, Zhejiang, China
- 回复
- 2022-03-08 18:58:11
- Harbin, Heilongjiang, China
- 回复
- 2022-03-09 09:26:22
- Quzhou, Zhejiang, China
- 回复
- 2021-10-25 02:00:35
- Hangzhou, Zhejiang, China
- 回复
- 2021-10-28 22:12:41
- Beijing, Beijing, China
- 回复
- 2021-10-04 21:26:42
- Beijing, Beijing, China
- 回复
- 2021-09-27 11:49:04
- Beijing, Beijing, China
- 回复
- 2021-09-24 23:20:35
- Beijing, Beijing, China
- 回复
- 2021-09-24 11:55:00
- Beijing, Beijing, China
- 回复
- 2021-09-24 13:46:36
- Beijing, Beijing, China
- 回复
- 2021-09-24 10:14:18
- Beijing, Beijing, China
- 回复
- 2021-09-24 13:43:54
- Beijing, Beijing, China
- 回复
- 2021-08-27 14:23:13
- Dongguan, Guangdong, China
- 回复
- 2021-08-27 20:37:52
- Beijing, Beijing, China
- 回复
微信订阅号
扫码关注「任霏博客」微信订阅号- 你写得非常清晰明了,让我很容易理解你的观点。
- 感谢分享!拿走了~
- 您是说 UCClient 类接收来自Discuz的UCenter的消息吧,请求是来自 Discuz 的 UCenter吗?code 为 null 说明请求URL地址中没有 code 参数 (?code=xxx) ,确定是 UCenter 发起的请求吗?
- String code = request.getParameter("code"); code一直是null 这是为什么啊
- 你好,我想问一下如果是分析型的数据库要怎么制作docker镜像呢 是修改V008R003C002B0320版本号吗
- 可以的,我也正在开发分享的程序,可以邮件或群联系我都可以,关于页面里有联系方式:https://www.renfei.net/page/about 。
- 有破解软件的需要可以私下联系您吗?
- 您好,手机APP只是个客户端,用于数据呈现展示,数据均保存在服务器上,只留个APP没有任何用处,无能为力哦。
- 老哥 看你弄了这么多软件好厉害啊。 我有个软件 我买过几个小会员 没用几天 然后商家跑路了,软件服务器关闭了,连不上去 用不了。 你能做成一个打补丁版本可以本地用的么? 方便看下么?https://haodezhe.lanzouw.com/iD0f30h9joza 谢谢老哥!
- 您好,由于版权投诉和我国知识产权法的完善,我已经下架所有破解软件的下载链接了。
- 生花妙笔信手来 – 基于 Amazon SageMaker 使用 Grounded-SAM 加速电商广告素材生成 [1]
- github.renfei.net 不再完整代理 Github 页面改为代理指定文件
- 优雅的源代码管理(三):本地优雅的使用 Git Rebase 变基
- 优雅的源代码管理(二):Git 的工作原理
- 优雅的源代码管理(一):版本控制系统 VCS(Version Control System)与软件配置管理 SCM(Software Configuration Management)
- ChatGPT 开发商 OpenAI 买下极品域名 AI.com
- 火爆的 AI 人工智能 ChatGPT 国内注册教程、使用方式和收费标准
- 解决 SpringCloud 中 bootstrap.yml 不识别 @activatedProperties@ 参数
- Cron表达式书写教程搞定Linux、Spring、Quartz的定时任务
- 阿里云香港可用区C发生史诗级故障