🌺The Begin🌺点点关注,收藏不迷路🌺

前言

openGauss是一款开源的关系型数据库管理系统,它具备高性能、高安全性和高可用性等特点。本文将详细介绍如何使用Docker容器快速部署openGauss数据库,包括镜像获取、容器运行、连接测试以及数据持久化等操作。

一、获取openGauss镜像

openGauss提供了两种获取Docker镜像的方式:

1. 直接从Docker Hub拉取镜像

docker pull opengauss/opengauss-server:latest

2. 下载镜像包并加载(推荐)

在官网找到自己架构所符合的opengauss数据库:

下载地址

在这里插入图片描述

wget https://download-opengauss.osinfra.cn/archive_test/7.0.0-RC1/openGauss7.0.0-RC1.B023/openEuler20.03/x86/openGauss-Docker-7.0.0-RC1-x86_64.tar


docker load -i openGauss-Docker-7.0.0-RC1-x86_64.tar

在这里插入图片描述

验证镜像是否成功获取:

docker images

输出示例:

[root@zyl-server zyl]# docker images
REPOSITORY   TAG         IMAGE ID       CREATED        SIZE
opengauss    7.0.0-RC1   9763e8b26794   3 months ago   1.44GB

在这里插入图片描述

二、运行openGauss容器

基本运行命令

docker run --name opengauss --privileged=true -d \
  -e GS_PASSWORD=Gaussdb@123 \
  -p 8888:5432 \
  opengauss:7.0.0-rc1

在这里插入图片描述

参数说明:

  • --name opengauss:为容器命名
  • --privileged=true:授予容器特权模式
  • -d:后台运行容器
  • -p 8888:5432:端口映射(宿主机端口:容器端口)
  • -e GS_PASSWORD:设置数据库超级用户omm的密码

密码要求

  • 长度至少8个字符
  • 必须包含大写字母、小写字母、数字和特殊字符
  • 支持的特殊字符:#?!@$%^&*-(其中!$&需要转义)

可选环境变量

-e GS_NODENAME=YourNodeName      # 默认为gaussdb
-e GS_USERNAME=YourUserName      # 默认为gaussdb
-e GS_USER_PASSWORD=YourPassword # 默认为GS_PASSWORD值
-e GS_PORT=YourPort             # 默认为5432
-e GS_DB=YourDbName             # 默认为postgres

三、容器运行测试

1. 验证容器状态

docker ps

在这里插入图片描述

示例输出:

[root@zyl-server zyl]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                       NAMES
67c999de42fa   opengauss:7.0.0-rc1   "entrypoint.sh gauss…"   34 seconds ago   Up 33 seconds   0.0.0.0:8888->5432/tcp, :::8888->5432/tcp   opengauss
[root@zyl-server zyl]#

2. 容器内部连接数据库

docker exec -it <CONTAINER_ID> bash

docker exec -it 67c999de42fa bash 

su omm

gsql -d postgres -p 5432

在这里插入图片描述

3. 从宿主机连接数据库

(需安装gsql客户端):

gsql -d postgres -U gaussdb -W Gaussdb@123 -h 127.0.0.1 -p 8888

四、数据持久化配置

为了防止容器删除后数据丢失,建议将数据目录挂载到宿主机:

通过以下命令,将宿主机的/opengauss目录挂载到容器的/var/lib/opengauss目录,实现数据的持久化存储:

docker run --name opengauss --privileged=true -d \
  -e GS_PASSWORD=Gaussdb@123 \
  -p 8888:5432 \
  -v /opengauss:/var/lib/opengauss \
  opengauss:7.0.0-rc1

五、参数配置

容器内的配置文件路径为:

/var/lib/opengauss/data/postgresql.conf

修改配置后重启容器生效:

docker restart <CONTAINER_ID>

六、部署流程图

docker pull
docker load
开始
获取镜像
docker pull or load?
从Docker Hub拉取
下载镜像包并加载
运行容器
配置环境变量
端口映射
数据持久化配置
启动容器
连接测试
结束

七、常见问题解决

  1. 连接被拒绝:检查端口映射是否正确,防火墙是否开放相应端口
  2. 密码不符合要求:确保密码包含大小写字母、数字和特殊字符
  3. 容器启动失败:检查日志 docker logs <CONTAINER_ID>

结语

通过Docker部署openGauss数据库可以大大简化安装和配置过程,本文详细介绍了从镜像获取到容器运行的全过程。希望这篇指南能帮助你快速上手openGauss数据库。

注意事项:

  • 生产环境建议使用更复杂的安全配置
  • 定期备份重要数据
  • 关注官方镜像更新,及时升级到最新版本

在这里插入图片描述


🌺The End🌺点点关注,收藏不迷路🌺
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐