windows系统通过docker使用OpenGauss数据库

本人是桂电一名大二软件工程的学生,最近在学数据库,需要安装openGauss。本人在网上查找了许久的资料,发现有许多前人的教程已经失效,无法正常搭建起来。于是决心发挥开源精神,将自己在windows系统下成功搭建openGauss环境的教程发出来,为国产数据库的社区文档尽一份自己的力量:

windows下使用docker的环境配置

开启windows的子系统

首先按下win+x,选择Power Shell(管理员)

进入Power Shell界面,然后输入

sh 复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

勾选虚拟机平台

继续输入

sh 复制代码
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

开启Hyper-V

sh 复制代码
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

下载并安装wsl2的内核

点击下载安装: wslstorestorage.blob.core.windows.net/wslblob/wsl... 安装后会重启系统,接下来的操作重启挺频繁的

设置WSL版本为2

sh 复制代码
wsl --set-default-version 2

windows本地安装使用docker

下载链接: docs.docker.com/desktop/ins... 点击下载windows版本

第一次启动可能会很慢,作者等了有十几分钟,请耐心等待...... 启动成功后进入下面的界面:

必要知识介绍

在我们进一步配置OpenGauss之前,我们需要先简单的了解以下docker相关的知识: docker中有两个核心概念:镜像image和容器container docker解决的是环境配置问题,通过docker我们可以生成一个独立的操作系统,这个操作系统的所有预下载软件都可以提前自己定制。用户定制好的操作系统 + 预下载的软件和在一起叫做镜像,通过docker通过镜像可以生成对应的环境操作系统,这个操作系统叫做容器。

  • 镜像Image:用户自定义的操作系统 + 系统里预先下载好的软件
  • 容器Container:通过镜像创建的实际的操作系统 用户可以将自己制作的镜像发布到dockerhub上,dockerhub类似于github,只不过github托管的是代码,而dockerhub托管的是用户自己制作的镜像。

回到正题,所以我们只需要安装好docker,然后再dockerhub上找到别人做好的包含openGauss的镜像,然后通过这个镜像创建容器,最后我们就可以通过容器在特定的操作系统里,就能运行openGauss了,是不是很简单呢

选择openGauss镜像

你可以通过docker客户端上面的搜索框来搜索镜像 目前常用的OpenGauss镜像有:

  • opengauss/opengauss:华为官方的镜像,目前对windows有兼容问题,会闪退
  • enmotech/opengauss:云和恩墨的镜像,目前对windows有兼容问题,会闪退
  • enmotech/opengauss-lite:个人尝试了许多的镜像,最终发现这个lite镜像可以正常在windows平台下的docker正常运行,选用这个镜像

在搜索栏搜索enmotech/opengauss-lite ,我们先需要将dockerhub上的镜像拉取到本地,然后通过命令行去创建容器 镜像文件拉取下来后,在Imiges页面可以看到该镜像 接下来我们创建容器

创建容器

继续win+x,选择管理员权限的Power Shell,输入指令

sh 复制代码
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=密码 enmotech/opengauss-lite:latest 

其中的GS_PASSWORD=密码请换成您自己的密码,OpenGauss对密码有要求,至少包含一个大写字母,一个数字和一个特殊字符。

如果密码不符合要求的话,导致无法运行,请删除该容器,然后重新创建

点击回车,如果你出现下面的输出,则说明创建成功 此时我们回到docker界面,会发现Containers界面里多出了我们创建的容器 然后请按照接下来的步骤,在容器内无需验证的连接OpenGauss数据库:

  1. 点击Actions,启动容器 (最开始应该是三角形,点击后变成正方形,标识容器正在运行)
  2. 点击容器名称
  3. 进入容器的命令行环境
  4. 切换到omm管理员账号,这里的omm是OpenGauss自动创建的管理员账号,用于管理数据库
sh 复制代码
su - omm

5. 使用gsql命令,连接容器内本地的OpenGauss数据库,gsql是OpenGauss自带的客户端,用来连接数据库,由于是本地连接,因此无需验证,可以直接连接

复制代码
gsql

恭喜你!你成功连接到了OpenGauss数据库!现在你可以和我一起完成数据库实验了

相关推荐
程序员清风1 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律2 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵2 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅3 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_3 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界5 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB5 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛5 小时前
MySQL的操作
数据库·mysql
猫咪很可爱6 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle
小豆庄6 小时前
视频素材处理时的隐私盲区:云处理与本地处理的边界在哪
数据库·图像处理·视频·敏捷流程