使用 Docker 和 docker-compose 快速部署 openGauss

文章目录

一、前言

openGauss 是一款开源的关系型数据库管理系统,由华为开源并持续发展。它具备高性能、高安全性和高可用性等特点,适用于企业级应用和大规模数据处理场景。本文将带你通过 Docker 和 docker-compose 快速搭建一个本地的 openGauss 开发环境,无需复杂的系统依赖安装,一键启动!

二、前置条件

在开始之前,请确保你的系统已安装以下工具:

Docker 20.10+

Docker Compose 2.0+

你可以通过以下命令验证是否已安装:

bash 复制代码
docker --version
# 示例输出:Docker version 20.10.0, build 7287ab3
docker-compose --version
# 示例输出:Docker Compose version v2.3.2

三、导入镜像

1、下载镜像

镜像下载地址:https://opengauss.obs.cn-south-1.myhuaweicloud.com/6.0.2/openGauss-Docker-6.0.2-x86_64.tar

2、导入镜像

bash 复制代码
## 上传镜像至服务器
## 导入镜像:
docker load -i openGauss-Docker-6.0.2-x86_64.tar
## 查看镜像
docker images
## 示例输出
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
opengauss    6.0.2     a93dae2ccb08   3 months ago   1.61GB

四、配置docker-compose

创建docker-compose文件

bash 复制代码
mkdir -p /home/opengauss
cd /home/opengauss
vi docker-compose.yml
## 添加如下内容
version: '3.8'

services:
  opengauss:
    image: opengauss:6.0.2
    container_name: opengauss
    restart: always
    environment:
      - GS_PASSWORD=YourStrongPassword123!  # 设置数据库管理员密码(必须满足复杂度要求)
    ports:
      - "0.0.0.0:5432:5432"  # 将容器的 5432 端口映射到主机的 15432
    volumes:
      - /home/opengauss:/var/lib/opengauss  # 持久化数据
    hostname: opengauss
    privileged: true
    shm_size: '512MB'  # openGauss 需要较大的共享内存
    networks:
      - opengauss-net

networks:
  opengauss-net:
    driver: bridge

#保存退出:wq

五、启动opengauss服务

bash 复制代码
## 启动
docker-compose up -d
# 查看状态:
docker ps 
# 示例输出:
CONTAINER ID   IMAGE             COMMAND                  CREATED        STATUS        PORTS                    NAMES
21b9b589717c   opengauss:6.0.2   "entrypoint.sh gauss..."   20 hours ago   Up 20 hours   0.0.0.0:5432->5432/tcp   opengauss
## 停止
docker-compose down

六、验证服务

bash 复制代码
## 进入容器
docker exec -it opengauss bash
## 登录数据库
su - omm
gsql -d postgres -U omm -W YourStrongPassword123!
## 如果成功进入 gsql 命令行,说明数据库已就绪。你可以尝试执行一些 SQL 命令:
-- 查看当前版本
SELECT version();
-- 列出所有数据库
\l
-- 退出
\q

七、外部连接(可选)

你可以使用支持 PostgreSQL 协议的客户端(如 DBeaver、Navicat、psql 等)连接 openGauss。

连接信息如下:

  • 主机地址: 服务器ip地址
  • 端口: 5432
  • 数据库名: postgres
  • 用户名: omm
  • 密码: YourStrongPassword123!

八、常见问题排查

容器启动失败或立即退出:

  • 检查 GS_PASSWORD 是否符合复杂度要求。
  • 确保 Docker 有足够的内存和磁盘空间。
  • 查看日志:docker logs opengauss

无法连接数据库:

  • 确认端口映射正确。
  • 检查防火墙是否阻止了 15432 端口。

性能问题:

  • 增加 shm_size 和容器内存限制。

九、总结

通过 Docker 和 docker-compose,我们可以非常方便地部署 openGauss 数据库,极大地简化了开发和测试环境的搭建过程。结合数据卷挂载,还能保证数据的持久化和可迁移性。

希望本文能帮助你快速上手 openGauss!如果你正在学习国产数据库或构建基于 openGauss 的应用,不妨从这个轻量级部署方案开始。

参考链接:

openGauss 官网:https://opengauss.org

相关推荐
wespaul2 小时前
VeapAI 自然语言操作实战|第 05 篇:向量与召回——从知识条目到可检索资产
大数据·数据库·人工智能·milvus
一只鹿鹿鹿7 小时前
政务外网整体设计方案(PPT)
大数据·数据库·web安全·系统安全·流程图·政务
2603_965148118 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
Android系统攻城狮8 小时前
Linux Gstreamer深度解析之gst_audio_ring_buffer_delay调用流程与实战(七十二)
linux·运维·服务器·gstreamer音视频·音视频进阶
AI砖家8 小时前
安全进入 Agent Loop:2027 年 Coding Agent 的决胜点
数据库·安全·codex·vibecoding
wangqiaowq8 小时前
SQL server C盘空间占满的处理
数据库·sql
文人sec8 小时前
SQL基础入门笔记 | 从零基础到掌握核心查询语句
数据库·笔记·sql
快乐的韭菜根根8 小时前
ubuntu 安装slurm并配置
linux·运维·ubuntu
数字新视界8 小时前
机房动环监控提升运维效率
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB技术团队8 小时前
冷热分层从建到验:Storage Policy 创建、表级与分区级绑定、SHOW TABLETS 验证的完整命令
大数据·数据库·elasticsearch·搜索引擎·数据分析·apache doris·冷热分层