1.系统环境
操作系统:CentOS 7 x86
安装版本:openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
2.docker 安装
yum install -y yum-utils
wget -O /etc/yum.repos.d/docker-ce.repo http://repo.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's+download.docker.com+repo.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast
sudo yum install docker-ce
systemctl enable docker
systemctl start docker
systemctl status docker
设置docker加速
cd /etc/docker/
vi daemon.json
{
"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
3.生成openGauss 6.0.0镜像
/data/opengauss目录下上传官网下载的openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 获取master.zip,解压master.zip和openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
wget https://gitee.com/opengauss/openGauss-server/repository/archive/master.zip
unzip master.zip
tar -xvf openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2
4.将dockerfiles代码库5.5.0拷贝一份另存为6.0.0
cd /data/opengauss/openGauss-server-master/docker/dockerfiles/
mkdir 6.0.0
cp 5.0.0/* 6.0.0
cp /data/opengauss/openGauss-6.0.0-CentOS-64bit.tar.bz2 6.0.0/
sed -i "s/openGauss-5.5.0-CentOS-64bit.tar.bz2/openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2/g" 6.0.0/dockerfile_amd
5.在dockerfiles文件夹下运行buildDockerImage.sh
[root@databse dockerfiles]# sh buildDockerImage.sh -v 6.0.0 -i
Checking Docker version.
Ignored SHA256 checksum.
==========================
DOCKER info:
Client: Docker Engine - Community
Version: 26.1.4
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.14.1
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.27.1
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 26.1.4
Storage Driver: overlay2
Backing Filesystem: xfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d2d58213f83a351ca8f528a95fbd145f5654e957
runc version: v1.1.12-0-g51d5e94
init version: de40ad0
Security Options:
seccomp
Profile: builtin
Kernel Version: 3.10.0-1160.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.682GiB
Name: databse.com
ID: 1cbe9053-56ef-43a0-bb50-b2b74dcedf3e
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://registry.docker-cn.com/
http://hub-mirror.c.163.com/
https://docker.mirrors.ustc.edu.cn/
Live Restore Enabled: false
==========================
Building image 'opengauss:6.0.0' ...
[+] Building 115.1s (13/13) FINISHED docker:default
=> [internal] load build definition from dockerfile_amd 0.0s
=> => transferring dockerfile: 1.49kB 0.0s
=> [internal] load metadata for docker.io/library/centos:7.6.1810 24.7s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/8] FROM docker.io/library/centos:7.6.1810@sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6 49.9s
=> => resolve docker.io/library/centos:7.6.1810@sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6 0.0s
=> => sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6 534B / 534B 0.0s
=> => sha256:747b2de199b6197a26eb1a24d69740d25483995842b2d2f75824095e9d1d19eb 529B / 529B 0.0s
=> => sha256:f1cb7c7d58b73eac859c395882eec49d50651244e342cd6c68a5c7809785f427 2.18kB / 2.18kB 0.0s
=> => sha256:ac9208207adaac3a48e54a4dc6b49c69e78c3072d2b3add7efdabf814db2133b 75.16MB / 75.16MB 46.3s
=> => extracting sha256:ac9208207adaac3a48e54a4dc6b49c69e78c3072d2b3add7efdabf814db2133b 3.5s
=> [internal] load build context 0.6s
=> => transferring context: 104.70MB 0.6s
=> [2/8] COPY openGauss-6.0.0-RC1-CentOS-64bit.tar.bz2 . 0.9s
=> [3/8] COPY gosu-amd64 /usr/local/bin/gosu 0.0s
=> [4/8] RUN set -eux; yum install -y bzip2 bzip2-devel curl libaio&& groupadd -g 70 omm; useradd -u 70 -g omm -d /home/omm omm; m 36.9s
=> [5/8] RUN set -eux; echo "export GAUSSHOME=/usr/local/opengauss" >> /home/omm/.bashrc && echo "export PATH=$GAUSSHOME/bin:$PATH " >> /hom 0.3s
=> [6/8] RUN set -eux; chmod +x /usr/local/bin/gosu 0.2s
=> [7/8] COPY entrypoint.sh /usr/local/bin/ 0.1s
=> [8/8] RUN chmod 755 /usr/local/bin/entrypoint.sh;ln -s /usr/local/bin/entrypoint.sh / # backwards compat 0.3s
=> exporting to image 1.7s
=> => exporting layers 1.6s
=> => writing image sha256:d96780e9ac8fb93b8bfea1fc507db68017236d814fefe7a71416ebd30f073440 0.0s
=> => naming to docker.io/library/opengauss:6.0.0 0.0s
openGauss Docker Image 6.0.0 is ready to be extended:
--> opengauss:6.0.0
Build completed in 115 seconds.
[root@databse dockerfiles]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
opengauss 6.0.0 4d4b794691ad 32 seconds ago 687MB
[root@databse dockerfiles]# docker run --name opengauss --privileged=true -d -e GS_PASSWORD=1qaz@WSX -p 15432:5432 -v /var/lib/opengauss opengauss:6.0.0
f16c1e5eb9e29636f39dca130e1e50798f14f7f3d73c66431fd3ff839b4df8dd
[root@databse dockerfiles]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c9cb88b69119 opengauss:6.0.0 "entrypoint.sh gauss…" 18 seconds ago Up 18 seconds 0.0.0.0:15432->5432/tcp, :::15432->5432/tcp opengauss
6.进入容器
docker exec -it opengauss bash
su - omm
[omm@c9cb88b69119 ~]$ gsql
gsql ((openGauss 6.0.0-RC1 build ed7f8e37) compiled at 2024-03-31 11:59:31 commit 0 last mr )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
omm=#