使用Docker部署openGauss

Docker是一个开源的应用容器引擎,让开发者可以把应用及依赖包打包到一个可移植的容器中,然后发布到流行的Linux或Windows机器或虚拟机上。openGauss是一款高性能、高安全、高可靠、高智能的企业级开源关系型数据库。openGauss 3.0.0 发布后,云和恩墨制作了docker版本。基于此, 我们可以不需要使用原始安装包和一系列安装配置,可以直接运行docker镜像的版本。本文主要介绍通过Docker安装openGauss 3.0.0,方便DevOps用户的安装、配置和环境设置。

1.安装Docker

  1. 首先准备一台x86_64已安装了CentOS 7.6的服务器。我用的还是上次centos安装时找小伙伴申请的华为云ECS服务器,不过卸载掉了已安装的openGauss。

  2. (可选)配置yum源。yum是centos下更新、管理软件的命令,yum源是yum命令去哪里取安装包的地图,yum命令查询yum源也就是repo文件上配置的地址去取相应的rpm包进行安装。

    常见的yum源:华为云、网易、阿里云等。我使用的是华为云的镜像 https://mirrors.huaweicloud.com/home ,需要先注册。然后按照图片指示和网站描述的步骤和命令进行操作,注意换一下CentOS的版本。执行wget 获取repo的时候,如果执行失败, 可以尝试把https 换成http。d640b6e9ea21f7311ef290cbff723613.jpeg

    如果你可以直接执行 yum search zlib-devel 而没有报错的话就说明无需额外配置,可以直接下一步了。
    有些公司内无法连接公网的需要自己配置相应的公司内部的yum源。

  3. 然后下载需要的安装包。

yum install -y yum-utils

等待下载完成。86917e44f61a57ebd0ca4d919cd3d8dd.jpeg

设置镜像的仓库 。这里我还是使用的是华为云的镜像,然后按照图片指示和网站描述的步骤和命令进行操作,注意根据OS切换页签到Fedora/CentOS/RHEL这里。 PS: 这个也可以是其他网站的源,网上有很多,这里我就不再赘述。61d3c759e03a99e6d9159f65e9a9d760.jpeg

这里第2步执行wget 获取repo的时候,如果执行失败, 可以尝试把https 换成http。

执行 sudo yum install docker-ce 的时候要根据提示输入y ,等到提示Complete ! 就安装好了。

启动Docker,状态为active(running)就OK。

systemctl enable docker 

 systemctl start docker 

 systemctl status docker

  1. be60e9441d7064d6f534a5a9f632868a.jpeg

2. 配置Docker

设置docker加速。由于国内直接访问docker hub网速很慢,拉取镜像的时间很长。通常我们使用镜像加速或者从国内的一些平台镜像仓库上拉取。
创建 /etc/docker/daemon.json 新增内容 。

cd /etc/docker/ 

 vi daemon.json

配置几条国内的加速地址。我这分别是Docker中国区的、网易的和中国科技大学的。

{

 "registry-mirrors": [

 "https://registry.docker-cn.com",

 "http://hub-mirror.c.163.com", 

 "https://docker.mirrors.ustc.edu.cn"] 

 }

重启docker。

systemctl daemon-reload 

 service docker restart

执行 docker info 命令查看最后是否有新加的registry-mirrors部分。

拉取hello world验证下,如图所示表示成功。

docker pull hello-world

3329a1a779c8c1cafa048726f926880c.jpeg

3 拉取openGauss镜像

openGauss 3.0.0 有企业版和轻量版。轻量版定位是在软硬件资源受限场景下仍可使用openGauss,但是保留了企业版大部分的特性,轻量版通过参数默认关闭的特性:Ustore、Asp、增量检查点、双写、列存、段页式存储等,还有些不支持的特性如ORC文件访问、Kerberos安全校验、AI、全密态数据库、CM、OM。工具也进行了精简,保留了用户常用的gsql、gs_ctl、gs_guc、gs_dump、gs_restore等工具,和安装部署、升级的工具liteom。但是对于个人或者实验环境也足够了。
前两部稍微繁琐一丢丢,但是配置好了一劳永逸,可以随意拉镜像了。openGauss镜像这里我们用的云和恩墨的镜像。

37278c3159eb013615e2954e86361e40.jpeg

从3.0.0版本开始(包括3.0.0版本)

  • 容器使用Lite版安装包,基础镜像的大小进一步降低到100MB以下;
  • 默认启动后的空载内存占用小于200MB;
  • 在容器内部的操作系统级别添加vi,ps等基础命令。

因为3.0.0是最新版本,所以latest就是3.0.0。这里,直接用的指定版本。

docker pull enmotech/opengauss:3.0.0

288e78fcd38b80b3daac15d83d97337d.jpeg

执行docker images查看下我们的已有镜像,enmotech/opengauss:3.0.0 也在此列。

164713e4bdaac3eae539dff2f01d43bd.jpeg

4. 开启实例

镜像拉取后就可以一条命令启动实例。GS_PASSWORD=Enmo@123 可以修改成自己熟悉的密码。

docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 enmotech/opengauss:3.0.0

GS_PASSWORD:设置openGauss数据库的超级用户omm以及测试用户gaussdb的密码。如果要从容器外部(其它主机或者其它容器)连接则必须要输入密码。
GS_NODENAME:数据库节点名称,默认为gaussdb。
GS_USERNAME:数据库连接用户名,默认为gaussdb。
GS_PORT:数据库端口,默认为5432。

除了GS_PASSWORD外都可以使用默认值。若要设定非默认值,和GS_PASSWORD一样使用 -e 设定。fca55b7f569b5f9f296f349624865250.jpeg

进入容器,测试连接

[root@pekphisprb70593 dockerfiles]# docker ps --获取CONTAINER ID [root@pekphisprb70593 dockerfiles]# docker exec -it 1d54ee4a5f40 /bin/bash --把这个命令里的 1d54ee4a5f40 修改为实际的ID

bc68a1f0badc680a53eec42679d2f650.jpeg

然后就和在普通服务器一样操作了。openGauss镜像配置了本地信任机制,因此在容器内连接数据库无需密码。

root@1d54ee4a5f40:/# su - omm 

 omm@1d54ee4a5f40:~$ gsql

1fecab14bd05a7b05b0f4e6bd0a14161.jpeg

使用docker安装确实简单又快捷。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值