暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

基于openGauss学习Docker

原创 张玉龙 2021-12-04
4936

学习了一些开源产品,在潜移默化的发现,是时候该学习下 Docker 了,很多产品都制作了 Docker 镜像,想测试这些产品的时候,使用 Docker 安装就会显得特别方便。

简单介绍

安装 Docker

需要注意 Docker 支持的平台:https://docs.docker.com/engine/install/
image.png
image.png

我的测试环境是 CentOS 7.6

# 1. Uninstall old versions 卸载旧版本 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 2. 需要的安装包,默认是国外的地址,很慢,这里使用阿里云的 yum install -y yum-utils # 3. 设置镜像的仓库 yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo # 4. 更新软件包的索引 yum makecache fast # 5. 安装 dokcer docker-ce是指社区版 yum install -y docker-ce docker-ce-cli containerd.io

安装的时候遇到一个小插曲,安装了python3没有修改yum-config-manager文件

[root@mogdb ~]# yum-config-manager \ > --add-repo \ > https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo File "/usr/bin/yum-config-manager", line 135 except yum.Errors.RepoError, e: ^ SyntaxError: invalid syntax [root@mogdb ~]# which yum-config-manager /usr/bin/yum-config-manager [root@mogdb ~]# vi /usr/bin/yum-config-manager # 换成 python2 #!/usr/bin/python2 -tt [root@mogdb ~]# yum-config-manager \ --add-repo \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo Loaded plugins: fastestmirror adding repo from: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo grabbing file https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo

启动并测试 Docker

# 启动dokcer [root@mogdb ~]# systemctl start docker [root@mogdb ~]# docker version Client: Docker Engine - Community Version: 20.10.11 API version: 1.41 Go version: go1.16.9 Git commit: dea9396 Built: Thu Nov 18 00:38:53 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.11 API version: 1.41 (minimum version 1.12) Go version: go1.16.9 Git commit: 847da18 Built: Thu Nov 18 00:37:17 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.12 GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d runc: Version: 1.0.2 GitCommit: v1.0.2-0-g52b36a2 docker-init: Version: 0.19.0 GitCommit: de40ad0 # 测试 hello-world [root@mogdb ~]# docker run hello-world # 查看下载的 hello-world 镜像 [root@mogdb ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 2 months ago 13.3kB

卸载 Docker

# 1. 卸载 yum remove docker-ce docker-ce-cli containerd.io # 2. 删除 rm -rf /var/lib/docker rm -rf /var/lib/containerd

配置阿里云镜像加速

mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xe6vk78x.mirror.aliyuncs.com"] } EOF systemctl daemon-reload systemctl restart docker

Docker为什么比 VM 快

image.png

  1. Docker 有着比虚拟机更少的抽象层
  2. Docker 利用的是宿主机的内核,vm需要虚拟机操作系统

Docker的常用命令

image.png

基于openGauss 学习这些命令

基础命令

docker version # 显示 docker 的版本信息 docker info # 显示 docker 的系统信息,包括镜像和容器的数量 docker command --help # 帮助

镜像命令

  • 搜索镜像,搜索 opengauss 的镜像
[root@mogdb ~]# docker search opengauss NAME DESCRIPTION STARS OFFICIAL AUTOMATED enmotech/opengauss openGauss latest images created by Enmotech 12 ... ... # 可选项 --filter=STARS=3000 # 搜索出来的镜像就是STARS(收藏数)大于3000的
  • 下载镜像, 下载 opengauss 的镜像
# Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] [root@mogdb ~]# docker pull enmotech/opengauss Using default tag: latest # 如果不写tag, 默认就是latest latest: Pulling from enmotech/opengauss 284055322776: Pull complete # 分成下载,docker images的核心,联合文件系统 a7ca82b898d7: Pull complete 2f93c23d8eb5: Pull complete 3842013b7685: Pull complete 6bc7e92855e3: Pull complete 39c9c4e5b487: Pull complete 1f9d76df94b5: Pull complete 44db1c59ef84: Pull complete 63ab02376fd3: Pull complete cf751b0b3be9: Pull complete 9dc428e2c8b4: Pull complete Digest: sha256:d5a3e38fa2553a44e7fa1cd5cad0b4f0845a679858764067d7b0052a228578a0 # 签名 Status: Downloaded newer image for enmotech/opengauss:latest docker.io/enmotech/opengauss:latest # 真实地址 # 指定版本下载 [root@mogdb ~]# docker pull enmotech/opengauss:2.0.1
  • 查看镜像
[root@mogdb ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE enmotech/opengauss latest b4dd24d09223 2 months ago 383MB enmotech/opengauss 2.0.1 c3860afd8014 3 months ago 404MB # 可选项 -a, --all Show all images (default hides intermediate images) -q, --quiet Only show image IDs
  • 删除镜像
[root@mogdb ~]# docker rmi -f c3860afd8014 Untagged: enmotech/opengauss:2.0.1 Untagged: enmotech/opengauss@sha256:d156596b2900f7eda102aadfd951daad97412b610b96d3dd97d2cdd9d5b70024 Deleted: sha256:c3860afd80148a6cfbb50269ef47f87257f2ed3fbf143f52b861303b98834833 Deleted: sha256:193b45dffb62df01fa6c74bef9cf21774fdd550c5995f02bef28f30070db6859 Deleted: sha256:32ba36efbf27ac2f485d1915fea35ec2a17c9d1b19d373d1edf49fd0f4b6a8de Deleted: sha256:ca0fd6097e9cf0aae5a1d5047f9b6bda30305a13396313b5cd021530be69bc9d Deleted: sha256:5d7f04d4882448ed954afc8d797069f3aede8ccc65a650086b9436f75fa11700 Deleted: sha256:40a09fca023bf0d0353606c2684ba47d73979ffc6cae2dd4a4953d5796c8cb0d Deleted: sha256:8828e1e7978fba035a5305d8684b94ed322842ed095eb46bffcdef17ad2e091a Deleted: sha256:e7c2553c8389d79197d6c3ba7c731292cd772588d252683cf706cb660c6e46f0 Deleted: sha256:d2292dd078208e84e70124123ffc4ebac5c304816a753db61da04f1e7d8a3663 Deleted: sha256:8d78df12722212e140ae7ba4441c7f9a36365074779b6ca880f097c6e237f9e3 Deleted: sha256:4f785c07c19d588e80313fc0ee644a19ac6e17a550a9e694c22babc355152367 Deleted: sha256:21639b09744fc39b4e1fe31c79cdf54470afe4d7239a517c4060bd181f8e3039 # 通过ID删除全部容器 [root@mogdb ~]# docker rmi -f $(docker images -aq)

容器命令

  • 新建容器并启动
# Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] # 参数说明 --name # 容器名字,区分容器 --privileged=true # 使用该参数,容器内的 root 拥有真正的 root 权限。 -d # 后台方式运行 -e # 设置环境变量 -it # 使用交互方式运行,进入容器查看内容 -p(小) # 容器和宿主机的端口映射 -p ip:主机端口:容器端口 -p 主机端口:容器端口 (常用) -p 容器端口 -P(大) # 随机指定端口 # 新建 opengauss 的容器并后台启动,配置密码 Enmo@123,端口映射 # docker run --name opengauss --privileged=true -d -e GS_PASSWORD=Enmo@123 -p 5432:5432 enmotech/opengauss:latest ad8892ff8b45fc3329ed76afd634de136ec7b67fb2ba02221a0ee8886ee932b8
  • 列出所有运行的容器
# docker ps -a # 列出当前正在运行的容器 + 历史运行过的容器 -n=? # 显示最近创建的容器 -q # 只显示容器的编号 [root@mogdb ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ad8892ff8b45 enmotech/opengauss:latest "entrypoint.sh gauss…" 5 minutes ago Up 5 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp opengauss
  • 启停容器
docker start 容器id docker restart 容器id docker stop 容器id docker kill 容器id
  • 进入当前正在运行的容器
docker exec -it 容器id /bin/bash # 进入容器后开启一个新的终端,可以在里面操作(常用) docker attach 容器id # 进入容器正在执行的终端,不会启动新的进程 # 进入 opengauss 的容器内,在数据库中创建普通用户,测试外部连接 [root@mogdb ~]# docker exec -it ad8892ff8b45 /bin/bash root@ad8892ff8b45:/# su - omm omm@ad8892ff8b45:~$ gsql gsql ((openGauss 2.1.0 build 590b0f8e) compiled at 2021-09-30 14:29:04 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. omm=# CREATE USER tpcc_usr WITH PASSWORD "tpcc@1234"; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# alter user tpcc_usr sysadmin; ALTER ROLE omm=# GRANT ALL ON schema public TO tpcc_usr; GRANT

image.png

  • 退出容器
exit # 退出并停止容器,后台运行的容器不会停止 Ctrl + P + Q # 容器不停止的退出
  • 删除容器
docker rm 容器ID # 删除指定的容器,不能删除正在运行的容器,如果强制删除 rm -f docker rm -f $(docker ps -aq) # 删除所有容器 docker ps -aq|xargs docker rm # 删除所有容器

其他命令

  • 查看日志
[root@mogdb ~]# docker logs -f -t --tail 10 ad8892ff8b45 2021-12-04T12:24:31.809995352Z 2021-12-04 12:24:31.809 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [BACKEND] LOG: the configure file /usr/local/opengauss/etc/gscgroup_omm.cfg doesn't exist or the size of configure file has changed. Please create it by root user! 2021-12-04T12:24:31.810007421Z 2021-12-04 12:24:31.809 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [BACKEND] LOG: Failed to parse cgroup config file. 2021-12-04T12:24:31.831906329Z 2021-12-04 12:24:31.831 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] WARNING: Failed to obtain environment value $GAUSSLOG! 2021-12-04T12:24:31.831931488Z 2021-12-04 12:24:31.831 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] DETAIL: N/A 2021-12-04T12:24:31.831934584Z 2021-12-04 12:24:31.831 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] CAUSE: Incorrect environment value. 2021-12-04T12:24:31.831936999Z 2021-12-04 12:24:31.831 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] ACTION: Please refer to backend log for more details. 2021-12-04T12:24:31.833046968Z 2021-12-04 12:24:31.832 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] WARNING: Failed to obtain environment value $GAUSSLOG! 2021-12-04T12:24:31.833057677Z 2021-12-04 12:24:31.832 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] DETAIL: N/A 2021-12-04T12:24:31.833060758Z 2021-12-04 12:24:31.832 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] CAUSE: Incorrect environment value. 2021-12-04T12:24:31.833063164Z 2021-12-04 12:24:31.832 [unknown] [unknown] localhost 140460925998016 0[0:0#0] 0 [EXECUTOR] ACTION: Please refer to backend log for more details.
  • 查看容器内的进程信息
[root@mogdb ~]# docker top ad8892ff8b45 UID PID PPID C STIME TTY TIME CMD 70 26782 26762 2 20:24 ? 00:00:21 gaussdb
  • 查询所有容器的资源使用信息
[root@mogdb ~]# docker stats CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS ad8892ff8b45 opengauss 2.65% 374.9MiB / 7.62GiB 4.80% 10.2kB / 58.2kB 6.77MB / 38.1MB 34
  • 查看容器的元数据
[root@mogdb ~]# docker inspect ad8892ff8b45
  • 从容器内复制文件到宿主机上
docker cp 容器id:PWD/file /home

Docker镜像加载原理

https://blog.csdn.net/pjsdsg/article/details/90445128

容器的快照 commit

docker commit # 保存容器成为一个新的副本 docker commit -m="提交的描述信息" -a="作者” 容器id 目标镜像名:[TAG]

测试 commit,前面为了测试外部连接数据库,在数据库中创建了一个普通用户 tpcc_usr ,下面保存这个容器成为一个新的副本

[root@mogdb ~]# docker commit -a="create database user tpcc" ad8892ff8b45 opengauss:1.0 sha256:1e760f8f2f3ddf707cb661bdd8549728bdb0ecd83d1166c6f9f350880464c654 [root@mogdb ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE opengauss 1.0 1e760f8f2f3d 15 seconds ago 1.21GB #<<<<<<< enmotech/opengauss latest b4dd24d09223 2 months ago 383MB

使用新创建的副本来新建一个容器,查看用户是否存在

# 容器名opengauss2,端口映射为5433,使用镜像ID是1e760f8f2f3d [root@mogdb ~]# docker run --name opengauss2 --privileged=true -d -e GS_PASSWORD=Enmo@123 -p 5433:5432 1e760f8f2f3d 0a1c49aaa9114f19e33fef20753be092f923ffe558aa1d4251c55d3948dff486 [root@mogdb ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0a1c49aaa911 1e760f8f2f3d "entrypoint.sh gauss…" 8 seconds ago Up 8 seconds 0.0.0.0:5433->5432/tcp, :::5433->5432/tcp opengauss2 #<<<<<<< ad8892ff8b45 enmotech/opengauss:latest "entrypoint.sh gauss…" 46 minutes ago Up 37 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp opengauss [root@mogdb ~]# docker exec -it 0a1c49aaa911 /bin/bash root@0a1c49aaa911:/# su - omm omm@0a1c49aaa911:~$ gsql gsql ((openGauss 2.1.0 build 590b0f8e) compiled at 2021-09-30 14:29:04 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. omm=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------------------------------------------------------------+----------- gaussdb | Sysadmin | {} omm | Sysadmin, Create role, Create DB, Replication, Administer audit, Monitoradmin, Operatoradmin, Policyadmin, UseFT | {} tpcc_usr | Sysadmin | {} omm=#

tpcc_usr 用户存在,使用外部工具测试连接
image.png

容器数据卷,持久化数据

image.png
查看 openGauss 的数据文件路径

omm@0a1c49aaa911:~$ gsql gsql ((openGauss 2.1.0 build 590b0f8e) compiled at 2021-09-30 14:29:04 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. omm=# show data_directory; data_directory ------------------------- /var/lib/opengauss/data (1 row)

指定路径挂载

# 指定路径挂载,ro只读,rw读写,设置 ro ,只能在宿主机上执行写操作,容器内部是只读的 docker run -it -v 主机目录:容器内目录:ro/rw # 测试 # mkdir /root/data docker run --name opengauss03 --privileged=true -d \ -e GS_PASSWORD=Enmo@123 -p 5434:5432 \ -v /root/data:/var/lib/opengauss/data \ 1e760f8f2f3d ee6e88d47dd90c7efbae1d85e33cedee3d649e33518a64f3ae99d6b8575bffb8 [root@mogdb ~]# docker inspect ee6e88d47dd9 "Mounts": [ { "Type": "bind", "Source": "/root/data", "Destination": "/var/lib/opengauss/data", "Mode": "", "RW": true, "Propagation": "rprivate" } ], [root@mogdb ~]# cd /root/data/ [root@mogdb data]# ll total 4900 drwx------ 3 70 70 21 Dec 4 11:51 asp_data drwx------ 7 70 70 71 Dec 4 11:51 base -rw------- 1 70 70 72 Dec 4 21:16 gaussdb.state drwx------ 2 70 70 4096 Dec 4 21:17 global -rw------- 1 70 70 354 Dec 4 11:50 gs_gazelle.conf drwx------ 3 70 70 21 Dec 4 11:51 gs_profile -rw------- 1 70 70 4915200 Dec 4 11:51 gswlm_userinfo.cfg -rw------- 1 70 70 20238 Dec 4 11:51 mot.conf drwx------ 3 70 70 50 Dec 4 11:51 pg_audit drwx------ 2 70 70 26 Dec 4 11:50 pg_clog drwx------ 2 70 70 26 Dec 4 11:50 pg_csnlog -rw------- 1 70 70 0 Dec 4 11:51 pg_ctl.lock drwx------ 2 70 70 6 Dec 4 11:50 pg_errorinfo -rw------- 1 70 70 4553 Dec 4 11:51 pg_hba.conf -rw------- 1 70 70 1636 Dec 4 11:50 pg_ident.conf drwx------ 4 70 70 39 Dec 4 11:50 pg_llog drwx------ 2 70 70 6 Dec 4 11:50 pg_location drwx------ 2 70 70 126 Dec 4 21:16 pg_log drwx------ 4 70 70 36 Dec 4 11:50 pg_multixact drwx------ 2 70 70 26 Dec 4 21:16 pg_notify drwx------ 3 70 70 21 Dec 4 11:51 pg_perf drwx------ 2 70 70 6 Dec 4 11:50 pg_replslot drwx------ 2 70 70 6 Dec 4 11:50 pg_serial drwx------ 2 70 70 6 Dec 4 11:50 pg_snapshots drwx------ 2 70 70 25 Dec 4 22:10 pg_stat_tmp drwx------ 2 70 70 6 Dec 4 11:50 pg_tblspc drwx------ 2 70 70 6 Dec 4 11:50 pg_twophase -rw------- 1 70 70 4 Dec 4 11:50 PG_VERSION drwx------ 3 70 70 4096 Dec 4 11:51 pg_xlog -rw------- 1 70 70 31669 Dec 4 11:51 postgresql.conf -rw------- 1 70 70 1024 Dec 4 11:50 postgresql.conf.lock -rw------- 1 70 70 33 Dec 4 21:16 postmaster.opts -rw------- 1 70 70 68 Dec 4 21:16 postmaster.pid drwx------ 3 70 70 21 Dec 4 11:51 sql_monitor drwx------ 5 70 70 67 Dec 4 21:16 undo

具名和匿名挂载

# 匿名挂载 -v 容器内的路径 docker run --name opengauss04 --privileged=true -d \ -e GS_PASSWORD=Enmo@123 -p 5435:5432 \ -v /var/lib/opengauss/data \ 1e760f8f2f3d "Mounts": [ { "Type": "volume", "Name": "e1f39b76c16ef76392b3a3a8312edc0f8c3e033c8c59d6ab60a6429c20236f62", "Source": "/var/lib/docker/volumes/e1f39b76c16ef76392b3a3a8312edc0f8c3e033c8c59d6ab60a6429c20236f62/_data", "Destination": "/var/lib/opengauss/data", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" } ], # 查看所有 volume 的情况 [root@mogdb ~]# docker volume ls DRIVER VOLUME NAME local 6cede63c42f882b1044b13c0aa20dd788eda6764940b9b8054db9e15087569a3 local 20df1e593053e108028cd2ada3084042b2f0d96827f236ea809f1b6663d90ef4 local a1601a649c6828db873110887ade959f86fdf18ccfd6e25c972a4edde661fd35 local a20478a2a42c64f4ac332f7067acdd5dd72e67ab7b3d8a85e609aaa4cc35d4bf local df1f97eda08c32d45f11a0faff8522e564ed2442274e6e0609fed30c3947b06b local e1f39b76c16ef76392b3a3a8312edc0f8c3e033c8c59d6ab60a6429c20236f62 # 具名挂载 docker run --name opengauss05 --privileged=true -d \ -e GS_PASSWORD=Enmo@123 -p 5436:5432 \ -v juming:/var/lib/opengauss/data \ 1e760f8f2f3d "Mounts": [ { "Type": "volume", "Name": "juming", "Source": "/var/lib/docker/volumes/juming/_data", "Destination": "/var/lib/opengauss/data", "Driver": "local", "Mode": "z", "RW": true, "Propagation": "" } ], # 查看挂载的具体位置 [root@mogdb ~]# docker volume inspect juming [ { "CreatedAt": "2021-12-04T22:17:29+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/juming/_data", "Name": "juming", "Options": null, "Scope": "local" } ] [root@mogdb ~]# docker volume ls DRIVER VOLUME NAME local 6cede63c42f882b1044b13c0aa20dd788eda6764940b9b8054db9e15087569a3 local 20df1e593053e108028cd2ada3084042b2f0d96827f236ea809f1b6663d90ef4 local a1601a649c6828db873110887ade959f86fdf18ccfd6e25c972a4edde661fd35 local a20478a2a42c64f4ac332f7067acdd5dd72e67ab7b3d8a85e609aaa4cc35d4bf local df1f97eda08c32d45f11a0faff8522e564ed2442274e6e0609fed30c3947b06b local e1f39b76c16ef76392b3a3a8312edc0f8c3e033c8c59d6ab60a6429c20236f62 local juming

DockerFile 制作 openGauss 镜像,源码中已经提供制作脚本,可以直接用

下载安装包: https://opengauss.org/zh/download.html

image.png

下载源码包: https://gitee.com/opengauss/openGauss-server?_from=gitee_search

image.png

将安装包和源码包上传 Docker 服务器

[root@mogdb ~]# ll openGauss* -rw-r--r-- 1 root root 100623501 Dec 4 22:35 openGauss-2.1.0-CentOS-64bit-all.tar.gz -rw-r--r-- 1 root root 193144438 Dec 4 22:40 openGauss-server-master.zip
# 解压源码包和安装包 [root@mogdb ~]# unzip openGauss-server-master.zip [root@mogdb ~]# tar -zxvf openGauss-2.1.0-CentOS-64bit-all.tar.gz # 准备目录和文件 [root@mogdb ~]# cd /root/openGauss-server-master/docker/dockerfiles [root@mogdb dockerfiles]# mkdir 2.1.0 [root@mogdb dockerfiles]# cp 1.1.0/* 2.1.0/ [root@mogdb dockerfiles]# cp /root/openGauss-2.1.0-CentOS-64bit.tar.bz2 2.1.0/ # 修改 dockerfile_amd 文件 [root@mogdb dockerfiles]# sed -i "s/openGauss-1.1.0-CentOS-64bit.tar.bz2/openGauss-2.1.0-CentOS-64bit.tar.bz2/g" 2.1.0/dockerfile_amd # 创建 opengauss 镜像 [root@mogdb dockerfiles]# sh buildDockerImage.sh -v 2.1.0 -i Successfully built e336672f2857 Successfully tagged opengauss:2.1.0 openGauss Docker Image 2.1.0 is ready to be extended: --> opengauss:2.1.0 Build completed in 42 seconds. # 生成opengauss容器 [root@mogdb ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE opengauss 2.1.0 e336672f2857 46 seconds ago 616MB opengauss 1.0 1e760f8f2f3d 3 hours ago 1.21GB enmotech/opengauss latest b4dd24d09223 2 months ago 383MB centos 7.6.1810 f1cb7c7d58b7 2 years ago 202MB [root@mogdb ~]# docker run --name opengauss10 --privileged=true -d -e GS_PASSWORD=Enmo@123 -p 5866:5432 -v /var/lib/opengauss opengauss:2.1.0 30124a1b285a6fe92b4ea55bc340603148e5ba52db481aacf23354e242cfaa9c [root@mogdb ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 30124a1b285a opengauss:2.1.0 "entrypoint.sh gauss…" 11 seconds ago Up 10 seconds 0.0.0.0:5866->5432/tcp, :::5866->5432/tcp opengauss10 # 登录opengauss容器,创建用户 ```sh [root@mogdb ~]# docker exec -it 30124a1b285a /bin/bash [root@72094285e528 /]# su - omm [omm@72094285e528 ~]$ gsql gsql ((openGauss 2.1.0 build 590b0f8e) compiled at 2021-09-30 14:29:04 commit 0 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. omm=# CREATE USER tpcc_usr WITH PASSWORD "tpcc@1234"; NOTICE: The encrypted password contains MD5 ciphertext, which is not secure. CREATE ROLE omm=# alter user tpcc_usr sysadmin; ALTER ROLE omm=# GRANT ALL ON schema public TO tpcc_usr; GRANT

image.png

先写到这吧,其实还有好多内容,后面有时间再写续篇

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论