This action will force synchronization from openGauss/openGauss-container, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
下载openGauss-docker仓库代码,构建脚本在该仓库中管理。
- 构建镜像需要openGauss社区发布的企业版本包,openGauss-*-64bit-all.tar.gz。放到
openGauss-docker/dockerfiles
目录下。- 运行buildDockerImage.sh脚本时,如果不指定-i参数,此时默认提供SHA256检查,需要您手动将校验结果写入sha256_file_amd64文件。
## 修改sha256校验文件内容 cd `openGauss-docker/dockerfiles` sha256sum openGauss-5.0.0-CentOS-64bit-all.tar.gz > sha256_file_amd64
- 对于x86平台,使用社区发布的Centos_x86_64的包;对于arm平台,使用发布的openEuler-arm版本企业包。
构建命令:
sh buildDockerImage.sh -v 5.0.0 -i
最新的容器镜像:
x86_64平台:
docker pull swr.cn-south-1.myhuaweicloud.com/opengauss/x86_64/opengauss:5.0.0
docker tag swr.cn-south-1.myhuaweicloud.com/opengauss/x86_64/opengauss:5.0.0 opengauss:5.0.0
arm平台:
docker pull swr.cn-south-1.myhuaweicloud.com/opengauss/arm/opengauss:5.0.0
docker tag swr.cn-south-1.myhuaweicloud.com/opengauss/arm/opengauss:5.0.0 opengauss:5.0.0
搭建CM集群至少需要两个容器实例才能使用。
docker network create --subnet=172.11.0.0/24 og-network
选择一台部署progrium/consul容器:
docker pull progrium/consul
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
每个节点的docker都进行修改: vim /usr/lib/systemd/system/docker.service 在ExecStart一栏后面追加:
-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store=consul://192.168.0.94:8500 --cluster-advertise=eth0:2376
192.168.0.94 是部署consul的机器ip。
修改完成后需要重启docker:
systemctl daemon-reload
systemctl restart docker
创建overlay网络
docker network create -d overlay --subnet 10.22.1.0/24 --gateway 10.22.1.1 og-network
# ip需要和容器网络在同一网段,几个实例的ip和节点名称不能重复。如下示例1主2备:
primary_nodeip="172.11.0.2"
standby1_nodeip="172.11.0.3"
standby2_nodeip="172.11.0.4"
primary_nodename=primary
standby1_nodename=standby1
standby2_nodename=standby2
OG_NETWORK=og-network
GS_PASSWORD=test@123
# 启动实例1
docker run -d -it -P --sysctl kernel.sem="250 6400000 1000 25600" --security-opt seccomp=unconfined -v /data/opengauss_volume:/volume --name opengauss-01 --net ${OG_NETWORK} --ip "$primary_nodeip" -h=$primary_nodename -e primaryhost="$primary_nodeip" -e primaryname="$primary_nodename" -e standbyhosts="$standby1_nodeip, $standby2_nodeip" -e standbynames="$standby1_nodename, $standby2_nodename" -e GS_PASSWORD=$GS_PASSWORD opengauss:5.0.0
# 启动实例2
docker run -d -it -P --sysctl kernel.sem="250 6400000 1000 25600" --security-opt seccomp=unconfined -v /data/opengauss_volume:/volume --name opengauss-02 --net ${OG_NETWORK} --ip "$standby1_nodeip" -h=$standby1_nodename -e primaryhost="$primary_nodeip" -e primaryname="$primary_nodename" -e standbyhosts="$standby1_nodeip, $standby2_nodeip" -e standbynames="$standby1_nodename, $standby2_nodename" -e GS_PASSWORD=$GS_PASSWORD opengauss:5.0.0
# 启动实例3
docker run -d -it -P --sysctl kernel.sem="250 6400000 1000 25600" --security-opt seccomp=unconfined -v /data/opengauss_volume:/volume --name opengauss-03 --net ${OG_NETWORK} --ip "$standby2_nodeip" -h=$standby2_nodename -e primaryhost="$primary_nodeip" -e primaryname="$primary_nodename" -e standbyhosts="$standby1_nodeip, $standby2_nodeip" -e standbynames="$standby1_nodename, $standby2_nodename" -e GS_PASSWORD=$GS_PASSWORD opengauss:5.0.0
在openGauss-docker
目录下,执行sh create_cm_contariners.sh
This script will create three containers with cm on a single node. \n
Please input OG_SUBNET (容器所在网段) [172.11.0.0/24]:
OG_SUBNET set 172.11.0.0/24
Please input OG_NETWORK (容器网络名称) [og-network]:
OG_NETWORK set og-network
Please input GS_PASSWORD (定义数据库密码)[test@123]:
GS_PASSWORD set
Please input openGauss VERSION [5.0.0]:
openGauss VERSION set 5.0.0
starting create docker containers...
会让填入容器网段、容器网络名称、数据库密码、容器版本号。使用默认值得话可以直接回车跳过。 脚本执行完成后,会拉起3个容器实例,组成1主2备的cm集群。
docker exec -ti <containerid> /bin/bash
su - omm
cm_ctl query -Cvid
gsql -d postgres -r
说明
- 构建的容器需要包含操作系统层
- 容器内仅提供CM和数据库内核工具,OM工具无法使用
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。