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数据库!现在你可以和我一起完成数据库实验了

相关推荐
r i c k2 分钟前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦17 分钟前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL1 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·1 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德1 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫2 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i2 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.2 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn2 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot