docker安装opengauss数据库
近来有个项目必要用到openGauss数据库,之前一直没使用过,发现只能在CentOS部署,然而我的云服务器装的是Debian,不过有万能的Docker在,一切都不是标题云服务器/虚拟机
首先必要有一台云服务器,大概使用虚拟机,但虚拟机的话只能本地使用,不太适合多地操作,还是发起用云服务器。
本文章就是基于雨云-新一代云服务提供商操作的,挑选一台NAT网络的服务器即可,自制好用,而且支持试用
[*] 进入雨云官网,登陆注册,点击云产品➡️立即购买
https://img-blog.csdnimg.cn/img_convert/caa7ce856e6aaf436ae89fdf958064ee.png
[*] 选择江苏宿迁➡️NAT模式
https://img-blog.csdnimg.cn/img_convert/c66b360b93681c4240fcc423591111d1.png
[*] 可以先试用,试用后可直接续费
安装Docker
切换到root用户按序次实行命令即可
提示:操作过程中可能出现以下选项,默认会选择第二个,请手动选择第一个并回车
https://img-blog.csdnimg.cn/img_convert/e381e9c0b853d3bc128dc780d11ec899.png
# 更新
apt-get update
# 升级
apt-get upgrade
# 安装必要工具
sudo apt-get install \
apt-transport-https \
software-properties-common \
ca-certificates \
curl \
gnupg \
lsb-release
# 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | apt-key add -
# 安装GPG证书
add-apt-repository "deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -cs) stable"
# 更新并安装Docker
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 开机自启
systemctl enable docker
# 启动Docker
systemctl start docker
# 测试——查看docker版本
docker version
# 输出以下内容
https://img-blog.csdnimg.cn/img_convert/67714c1c719cb5d8409d0ed7d058b684.png
配置加快镜像源
vim /etc/docker/daemon.json
文件内填入以下内容:
{
"registry-mirrors": ["https://docker.nastool.de"]
}
重载配置
systemctl daemon-reload
重启docker
systemctl restart docker
安装OpenGauss
这里实验了很多次,网上的镜像源加快地址基本都拉取不下来opengauss的镜像,enmotech/opengauss、blueapple/opengauss、travelliu/opengauss和aff123/opengauss都无法乐成拉取。末了终于找到了https://docker.aityp.com/,里面有5.0.2版本的镜像
[*] 拉取镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/enmotech/opengauss:5.0.2
[*] 创建容器
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=password@123 -p 5566:5432 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/enmotech/opengauss:5.0.2
[*] 检察容器
docker ps
https://img-blog.csdnimg.cn/img_convert/9c08a8554ed47a5c14883a284d02b9d9.png
[*] 进入容器检察,如下即为乐成
docker exec -it opengauss sh
su - omm
gsql
https://img-blog.csdnimg.cn/img_convert/967f1af5df6f1f7814cfe9a96b40e55b.png
Navicat远程连接opengauss
opengauss基于postgresql,所以选择postgresql连接即可
不过连接前先到雨云控制台配置端口映射,外网端口写10000~60000之内的数字即可,我这里是15566
https://img-blog.csdnimg.cn/img_convert/85d2768f82a7898914c4398175451d50.png
navicat按照以下格式填写
https://img-blog.csdnimg.cn/img_convert/d85bd1270b4f4f14094a3ed9a7ebe1fa.png
连接乐成之后显示如下
https://img-blog.csdnimg.cn/img_convert/824d9ae610f75da1f3248a42f58568ce.png
优化
毕竟是数据库,所以占用的内存比较大,我的云服务器选的是1G内存的,使用opengauss会出现内存不够而被杀死的环境,必要我回到服务器重新手动启动,所以必要办理的就是两个标题:1、自动重启;2、扩大内存
自动重启
自动重启比较简单,运行一行命令即可
docker update --restart=always opengauss
扩大内存
购买的内存是固定的,只能花钱升级,但有个能缓解的方法——虚拟内存,固然结果不大,但能让内存需求突然增大的环境下保证容器不被杀死,也算是一个勉强能用的法子。
[*] 检察是否开启虚拟内存
swapon -s
若什么都没输出,则说明没有虚拟内存
[*] 创建swap文件
fallocate -l 2G /swapfile
一样平常是内存容量x1.5倍巨细,我这里直接给了2G,可以根据自身必要修改
[*] 设置swap文件的权限
chmod 600 /swapfile
[*] 格式化swap文件
mkswap /swapfile
[*] 启用swap文件
swapon /swapfile
[*] 设置开机自动挂载swap文件
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
[*] 检察是否开启虚拟内存
swapon -s
https://img-blog.csdnimg.cn/img_convert/1b283bd2ddef7f4ad2ad4f2cca428e43.png
[*] 检察内存使用环境
free -h
由于我已经配置过了,所以这里没法给到图片,理论上此时能看到Swap还未被使用,uesd为0,且Mem的可用内存available很低
[*] docker使用虚拟内存
vim /etc/default/docker
在末尾添加
DOCKER_OPTS="--storage-driver=devicemapper --storage-opt dm.override_udev_sync_check=true"
重启docker
systemctl restart docker
[*] 再次检察内存使用环境
free -h
https://img-blog.csdnimg.cn/img_convert/4fe56c11a034b36c2ea9415a983c536f.png
此时可以看到虚拟内存正在被使用,且可用内存变多了
至此,圆满完成。不过发起还是直接上2G大概更高内存的服务器,1G的用来运行数据库只能勉强使用,高频操作还是会吃不消
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]