Docker是一個開源的應(yīng)用容器引擎昭殉,讓開發(fā)者可以把應(yīng)用及依賴包打包到一個可移植的容器中笨忌,然后發(fā)布到流行的Linux或Windows機器或虛擬機上冬殃。openGauss是一款高性能魂角、高安全遂填、高可靠辐怕、高智能的企業(yè)級開源關(guān)系型數(shù)據(jù)庫逼蒙。openGauss 3.0.0 發(fā)布后,云和恩墨制作了docker版本寄疏∈抢危基于此顶考, 我們可以不需要使用原始安裝包和一系列安裝配置,可以直接運行docker鏡像的版本妖泄。本文主要介紹通過Docker安裝openGauss 3.0.0驹沿,方便DevOps用戶的安裝、配置和環(huán)境設(shè)置蹈胡。
1.安裝Docker
首先準備一臺x86_64已安裝了CentOS 7.6的服務(wù)器渊季。我用的還是上次centos安裝時找小伙伴申請的華為云ECS服務(wù)器,不過卸載掉了已安裝的openGauss罚渐。
-
(可選)配置yum源却汉。yum是centos下更新、管理軟件的命令荷并,yum源是yum命令去哪里取安裝包的地圖合砂,yum命令查詢yum源也就是repo文件上配置的地址去取相應(yīng)的rpm包進行安裝。
常見的yum源:華為云源织、網(wǎng)易翩伪、阿里云等。我使用的是華為云的鏡像 https://mirrors.huaweicloud.com/home 谈息,需要先注冊缘屹。然后按照圖片指示和網(wǎng)站描述的步驟和命令進行操作,注意換一下CentOS的版本侠仇。執(zhí)行wget 獲取repo的時候轻姿,如果執(zhí)行失敗, 可以嘗試把https 換成http逻炊。
如果你可以直接執(zhí)行 yum search zlib-devel 而沒有報錯的話就說明無需額外配置互亮,可以直接下一步了。
有些公司內(nèi)無法連接公網(wǎng)的需要自己配置相應(yīng)的公司內(nèi)部的yum源余素。 然后下載需要的安裝包豹休。
yum install -y yum-utils
等待下載完成。
設(shè)置鏡像的倉庫 溺森。這里我還是使用的是華為云的鏡像慕爬,然后按照圖片指示和網(wǎng)站描述的步驟和命令進行操作,注意根據(jù)OS切換頁簽到Fedora/CentOS/RHEL這里屏积。 PS: 這個也可以是其他網(wǎng)站的源医窿,網(wǎng)上有很多,這里我就不再贅述炊林。
這里第2步執(zhí)行wget 獲取repo的時候姥卢,如果執(zhí)行失敗, 可以嘗試把https 換成http。
執(zhí)行 sudo yum install docker-ce 的時候要根據(jù)提示輸入y 独榴,等到提示Complete 僧叉! 就安裝好了。
啟動Docker棺榔,狀態(tài)為active(running)就OK瓶堕。
systemctl enable docker
systemctl start docker
systemctl status docker
2. 配置Docker
設(shè)置docker加速。由于國內(nèi)直接訪問docker hub網(wǎng)速很慢症歇,拉取鏡像的時間很長郎笆。通常我們使用鏡像加速或者從國內(nèi)的一些平臺鏡像倉庫上拉取。
創(chuàng)建 /etc/docker/daemon.json 新增內(nèi)容 忘晤。
cd /etc/docker/
vi daemon.json
配置幾條國內(nèi)的加速地址宛蚓。我這分別是Docker中國區(qū)的、網(wǎng)易的和中國科技大學(xué)的设塔。
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"]
}
重啟docker凄吏。
systemctl daemon-reload
service docker restart
執(zhí)行 docker info 命令查看最后是否有新加的registry-mirrors部分。
拉取hello world驗證下闰蛔,如圖所示表示成功痕钢。
docker pull hello-world
3 拉取openGauss鏡像
openGauss 3.0.0 有企業(yè)版和輕量版。輕量版定位是在軟硬件資源受限場景下仍可使用openGauss钞护,但是保留了企業(yè)版大部分的特性盖喷,輕量版通過參數(shù)默認關(guān)閉的特性:Ustore、Asp难咕、增量檢查點、雙寫距辆、列存余佃、段頁式存儲等,還有些不支持的特性如ORC文件訪問跨算、Kerberos安全校驗爆土、AI、全密態(tài)數(shù)據(jù)庫诸蚕、CM步势、OM。工具也進行了精簡背犯,保留了用戶常用的gsql坏瘩、gs_ctl、gs_guc漠魏、gs_dump倔矾、gs_restore等工具,和安裝部署、升級的工具liteom哪自。但是對于個人或者實驗環(huán)境也足夠了丰包。
前兩部稍微繁瑣一丟丟,但是配置好了一勞永逸壤巷,可以隨意拉鏡像了邑彪。openGauss鏡像這里我們用的云和恩墨的鏡像。
從3.0.0版本開始(包括3.0.0版本)
- 容器使用Lite版安裝包胧华,基礎(chǔ)鏡像的大小進一步降低到100MB以下寄症;
- 默認啟動后的空載內(nèi)存占用小于200MB;
- 在容器內(nèi)部的操作系統(tǒng)級別添加vi撑柔,ps等基礎(chǔ)命令瘸爽。
因為3.0.0是最新版本,所以latest就是3.0.0铅忿。這里剪决,直接用的指定版本。
docker pull enmotech/opengauss:3.0.0
執(zhí)行docker images查看下我們的已有鏡像檀训,enmotech/opengauss:3.0.0 也在此列柑潦。
4. 開啟實例
鏡像拉取后就可以一條命令啟動實例。GS_PASSWORD=Enmo@123 可以修改成自己熟悉的密碼峻凫。
docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 enmotech/opengauss:3.0.0
GS_PASSWORD:設(shè)置openGauss數(shù)據(jù)庫的超級用戶omm以及測試用戶gaussdb的密碼渗鬼。如果要從容器外部(其它主機或者其它容器)連接則必須要輸入密碼。
GS_NODENAME:數(shù)據(jù)庫節(jié)點名稱荧琼,默認為gaussdb譬胎。
GS_USERNAME:數(shù)據(jù)庫連接用戶名,默認為gaussdb命锄。
GS_PORT:數(shù)據(jù)庫端口堰乔,默認為5432。
除了GS_PASSWORD外都可以使用默認值脐恩。若要設(shè)定非默認值镐侯,和GS_PASSWORD一樣使用 -e 設(shè)定。
進入容器驶冒,測試連接
[root@pekphisprb70593 dockerfiles]# docker ps --獲取CONTAINER ID [root@pekphisprb70593 dockerfiles]# docker exec -it 1d54ee4a5f40 /bin/bash --把這個命令里的 1d54ee4a5f40 修改為實際的ID
然后就和在普通服務(wù)器一樣操作了苟翻。openGauss鏡像配置了本地信任機制,因此在容器內(nèi)連接數(shù)據(jù)庫無需密碼骗污。
root@1d54ee4a5f40:/# su - omm
omm@1d54ee4a5f40:~$ gsql
使用docker安裝確實簡單又快捷崇猫。