Menu

文档

容器安装

本章节主要介绍通过Docker安装openGauss,方便DevOps用户的安装、配置和环境设置。

支持的架构和操作系统版本

  • x86-64 CentOS 7.6

  • ARM64 openEuler 20.03 LTS

配置准备

使用 buildDockerImage.sh脚本构建docker镜像,buildDockerImage.sh是一个方便使用的shell脚本,提供MD5的检查。

创建openGauss docker镜像

说明: - 安装前需要提供openGauss二进制安装包,放到 dockerfiles/文件夹,解压一层找到以bz2结尾的包(openGauss-X.X.X-CentOS-64bit.tar.bz2)。二进制包可以从 https://opengauss.org/zh/download.html下载或从源码编译https://gitee.com/opengauss/openGauss-server[https://gitee.com/opengauss/openGauss-server?_from=gitee_search],确保有正确的yum源。

在dockerfiles文件夹运行buildDockerImage.sh脚本。

[root@ecs-complie dockerfiles]# ./buildDockerImage.sh 

Usage: buildDockerImage.sh -v [version]  [-i]  [Docker build option]
Builds a Docker Image for openGauss
  
Parameters:
   -v: version to build
       Choose one of: 1.0.0  1.0.1  
   -i: ignores the MD5 checksums

LICENSE UPL 1.0

环境变量

为了更灵活的使用openGuass镜像,可以设置额外的参数。未来我们会扩充更多的可控制参数,当前版本支持以下变量的设定。

GS_PASSWORD

使用openGauss镜像的时候,必须设置该参数。该参数值不能为空或者不定义。该参数设置了openGauss数据库的超级用户omm以及测试用户gaussdb的密码。openGauss安装时默认会创建omm超级用户,该用户名暂时无法修改。测试用户gaussdb是在entrypoint.sh中自定义创建的用户。

openGauss镜像配置了本地信任机制,因此在容器内连接数据库无需密码,但是如果要从容器外部(其它主机或者其它容器)连接则必须要输入密码。

openGauss的密码有复杂度要求

密码长度8个字符及以上,必须同时包含英文字母大小写、数字、以及特殊符号。

GS_NODENAME

指定数据库节点名称,默认为gaussdb。

GS_USERNAME

指定数据库连接用户名,默认为gaussdb。

GS_PORT

指定数据库端口,默认为5432。

启动openGauss实例

$ docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 opengauss:1.0.1

从操作系统层面连接数据库

$ docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 -p8888:5432 opengauss:1.0.1 
$ gsql -d postgres -U gaussdb -W'Enmo@123' -h your-host-ip -p8888

数据持久化

$ docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /opengauss:/var/lib/opengauss opengauss:1.0.1

建主从复制的openGauss容器

创建容器镜像后执行脚本 create_master_slave.sh自动创建openGauss主从架构。 该脚本有多个自定义参数并设定默认值。

OG_SUBNET

容器所在网段 [172.11.0.0/24]

GS_PASSWORD

定义数据库密码 [Enmo@123]

_MASTER_IP

主库IP [172.11.0.101]

_SLAVE_1_IP

备库IP [172.11.0.102]

_MASTER_HOST_PORT

主库数据库服务端口 [5432]

_MASTER_LOCAL_PORT

主库通信端口 [5434]

_SLAVE_1_HOST_PORT

备库数据库服务端口 [6432]

_SLAVE_1_LOCAL_PORT

备库通信端口 [6434]

_MASTER_NODENAME

主节点名称 [opengauss_master]

_SLAVE_NODENAME

备节点名称 [opengauss_slave1]

本文档遵循知识共享许可协议CC 4.0 (http://creativecommons.org/Licenses/by/4.0/)。