写在前面
用 VMware 搭 openGauss 有点点麻烦,百度后发现可以用 docker 直接起,所以再用 docker 搭一遍
搭建 CentOS 7.6
步骤同用 VMware 搭建一样,随便搭搭就行
换源
输入命令:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
更换阿里源
输入命令:yum clean all
清除缓存
输入命令:yum makecache
生成缓存
输入命令:yum -y update
更新yum源
是个有点漫长的过程
安个 python3、bzip2
输入命令:yum install python3 bzip2 -y
关掉防火墙
输入命令:systemctl stop firewalld.service
停止防火墙
输入命令:systemctl disable firewalld.service
关闭防火墙
reboot
重启一下
安装 docker
检查 Linux 版本,必须是 3.10 以上:uname -r
输入命令:yum install -y docker
安装 docker
输入命令检查 docker :docker -v
输入命令:systemctl start docker
启动 docker 服务
输入命令:systemctl enable docker
开机自启动 docker
停止 docker 命令:systemctl stop docker
docker 常用命令
镜像操作命令
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 |
docker hub 上检索镜像的相关信息 |
拉取 | docker pull 镜像名:tag ,tag 是标签,一般是选择版本 |
:tag 可选项,默认为latest |
列表 | docker images |
查看所有本地镜像 |
删除 | docker rmi image-id |
删除指定的本地镜像 |
找镜像去 https://hub.docker.com/ 找
docker 加速
加快拉取速度可以配置镜像加速的服务器,阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,登陆后,左侧菜单选中镜像加速器就可以看到一个专属地址,下文就是配置镜像加速器的方法
配置镜像地址,执行命令vi /etc/docker/daemon.json
修改配置文件,如该文件不存在,则创建。在其中加入内容:
{"registry-mirrors":["https://h9a56rl5.mirror.aliyuncs.com"]}
依次执行命令systemctl daemon-reload
和systemctl restart docker
重新启动 docker
拉取 openGauss 镜像并创建 openGauss 容器
选云和恩墨公司的镜像就行
执行docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Aimerl0@123 -p 6666:5432 enmotech/opengauss:latest
拉取镜像并创建容器
参数解释
run --name opengauss
:指定容器名字为opengauss
,并让opengauss
容器跑起来--privileged=ture
:容器内的 root 用户拥有真正的 root 权限,否则容器内的 root 只是外部的一个普通用户权限,开启此参数后,甚至可以在 docker 里面起 docker-d
:后台运行容器,返回容器的 id,也称 启动守护式容器-e
:指定容器内的环境变量,也就是指定后面的密码GS_PASSORD
:使用 openGauss 镜像的时候必须设置参数,不能为空或不定义,因为该参数是设置数据库内的超级用户omm
以及测试用户guassdb
的密码,openGauss 安装时默认会创建omm
超级用户,此用户名无法更改,测试用户gaussdb
的起 docker 时候自定义创建的用户此外,openGauss 镜像配置了本地信任机制,在容器内连接数据库无需密码,从容器外部连接数据库需要输入密码
再此外,openGauss 的密码有复杂度要求:密码长度8个字符以上,必须同时包含英文字母,数字,以及特殊符号
-p
:指定一个端口映射,因为要用外部的数据库管理软件连接数据库,所以从容器内部的5432
端口映射到外部的6666
端口,密码是设置的环境变量Aimerl0@123
enmotech/opengauss:latest
:拉取的镜像名字
未用到的参数解释
GS_NODENAME
:指定数据库节点名称,默认为guassdb
GS_USERNAME
:指定数据库连接用户名,默认为gaussdb
GS_PORT
:指定数据库端口,默认为5432
之后执行docker start opengauss
启动 openGauss 镜像
因为是上课用的,所以通过docker update --restart=always opengauss
设置 openGauss 镜像随着 docker 的启动而启动
至此 openGauss 安装完成
使用 openGauss
在 root 用户状态下使用连接命令连接数据库:docker exec -it opengauss bash
su - omm
切换超级用户
执行命令gsql
进入数据库