适用于windows环境下通过docker desktop实现opengauss部署,请审题。
前言
注意事项:后面docker拉取镜像源最好电脑有科学上网工具如果没有科学上网工具,我也有国产镜像源这边提供,但是稍微有点繁琐有需要可以私信我也可以自己去找
可用的镜像源是动态变化的,所以最新的docker国内镜像源拉取,最好还是自己动动小手找一下大佬发布的可用镜像源网站挨个尝试一下。
一、部署适合deskdocker的环境
众所周知windows环境并不适配docker,所以这里我推荐使用docker desktop,这个既有可视化界面,而且部署完之后启动简单便捷。
1.搜索控制面板。
2.点击里面的程序。
3.选择启用或关闭windows功能,勾选使用于Hype-V、Linux的windows子系统
4.在重启电脑之后,安装docker desktop.
5.安装完后最好再重启一下,如果小鲸鱼变红出现关于wsl启动报错,说面电脑wsl没配置好,搜索下资源或是私信一下我。利用这个更新一下,重启电脑,再点击docker desktop小鲸鱼图标打开。
此时你就是已经成功安装完成docker desktop。
6.确认安装完成,win+r打开输入cmd指令,弹出命令行界面输入docker - v,能够显示docker版本说明安装成功了,下面走第二个流程。
二、安装opengauss数据库
1.配置docker镜像源
这个就说到了我前言中提到的镜像源配置,打开你的docker desktop,选择如图所示的设置按钮
选择这个,然后把你自己搜索到的可用国内镜像源或我提供的放置进去(有科学上网工具则不考虑这个),放置的位置在registry-mirrors中不要放错了。
2.拉取镜像源
win+r打开输入cmd指令,弹出命令行界面输入,开始拉取镜像,输入命令:
docker pull enmotech/opengauss
等待拉取完成
docker iamges
观察是否拉取成功,安全起见之后可能会遇到一个文件找不到的问题,你还可以下载一个轻量库镜像。
docker pull enmotech/opengauss-lite
我之前也是遇到了这个问题怀疑可能是这个原因,然后切换成轻量库解决了,我看网上也有降低dockerdesktop版本解决了(这个没尝试过有待后来者尝试)
还原镜像库
docker run --name 镜像源名字 --privileged=true -d -e GS_PASSWORD=Chainsx@123 -v 你的镜像源名字 -p 本机接口:容器内接口
例如
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=password@123 -p 5566:5432 enmotech/opengauss:5.0.2
这句代码大意是创建容器,然后使容器内接口对应本机的5566接口,同时设置数据库的密码为password@123设置名字为opengauss。
还原镜像,注意这里还有个易错点就是密码的设置一定要大小字符加英文,否则容易导致容器无法正常启动。
使用
docker ps
查看正在跑的容器,如果发现没用,采用
docker logs 容器名字
查看容器报错是否是因为上述的密码设置不对报错,如果是重新执行指令,修改为符合规范的密码执行。使用
docker start 容器名字
使容器启动,容器启动后,你可以在鲸鱼的可视化页面
这里看到对应的容器在跑,
此时你点击他后面的一个命令行页面的按钮,进入到容器内部(省得你敲指令了)
输入
su - omm
omm默认为管理用户的,在切换到这个用户的基础上使用
gsql
观察是否有版本后显示,如果有显示,则视为安装成功。
后续连接问题
opengauss基于postgresql,所以选择postgresql连接即可选择使用postgresql驱动的连接即可,注意事项是你要把容器内的5432端口对应到本机的端口上去,navacite或什么工具连接你安装的电脑的暴露的端口位置即可,默认数据库为postgres,默认用户此时不要用omm了,用gaussdb,密码为你之前设置的密码,连上操作即可。
总结
希望能够有帮助到你建立线下测试数据库,不喜勿喷,欢迎交流指正。