!3136 修复docker启动失败的问题

Merge pull request !3136 from zhangxubo/master
This commit is contained in:
opengauss-bot
2023-03-14 12:33:34 +00:00
committed by Gitee
10 changed files with 119 additions and 124 deletions

View File

@ -1,6 +1,6 @@
FROM centos:7.6.1810 FROM centos:7.6.1810
COPY openGauss-3.0.0-CentOS-64bit.tar.bz2 . COPY openGauss-5.0.0-CentOS-64bit.tar.bz2 .
COPY gosu-amd64 /usr/local/bin/gosu COPY gosu-amd64 /usr/local/bin/gosu
ENV LANG en_US.utf8 ENV LANG en_US.utf8
@ -15,10 +15,10 @@ RUN set -eux; \
mkdir -p /usr/local/opengauss && \ mkdir -p /usr/local/opengauss && \
mkdir -p /var/run/opengauss && \ mkdir -p /var/run/opengauss && \
mkdir /docker-entrypoint-initdb.d && \ mkdir /docker-entrypoint-initdb.d && \
tar -jxf openGauss-3.0.0-CentOS-64bit.tar.bz2 -C /usr/local/opengauss && \ tar -jxf openGauss-5.0.0-CentOS-64bit.tar.bz2 -C /usr/local/opengauss && \
chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \ chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \
chmod 2777 /var/run/opengauss && \ chmod 2777 /var/run/opengauss && \
rm -rf openGauss-3.0.0-CentOS-64bit.tar.bz2 && yum clean all rm -rf openGauss-5.0.0-CentOS-64bit.tar.bz2 && yum clean all
RUN set -eux; \ RUN set -eux; \
echo "export GAUSSHOME=/usr/local/opengauss" >> /home/omm/.bashrc && \ echo "export GAUSSHOME=/usr/local/opengauss" >> /home/omm/.bashrc && \

View File

@ -1,6 +1,6 @@
FROM openeuler-20.03-lts:latest FROM openeuler-20.03-lts:latest
COPY openGauss-3.0.0-openEuler-64bit.tar.bz2 . COPY openGauss-5.0.0-openEuler-64bit.tar.bz2 .
COPY gosu-arm64 /usr/local/bin/gosu COPY gosu-arm64 /usr/local/bin/gosu
COPY openEuler_aarch64.repo /etc/yum.repos.d/openEuler_aarch64.repo COPY openEuler_aarch64.repo /etc/yum.repos.d/openEuler_aarch64.repo
ENV LANG en_US.utf8 ENV LANG en_US.utf8
@ -15,10 +15,10 @@ RUN set -eux; \
mkdir -p /usr/local/opengauss && \ mkdir -p /usr/local/opengauss && \
mkdir -p /var/run/opengauss && \ mkdir -p /var/run/opengauss && \
mkdir /docker-entrypoint-initdb.d && \ mkdir /docker-entrypoint-initdb.d && \
tar -jxf openGauss-3.0.0-openEuler-64bit.tar.bz2 -C /usr/local/opengauss && \ tar -jxf openGauss-5.0.0-openEuler-64bit.tar.bz2 -C /usr/local/opengauss && \
chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \ chown -R omm:omm /var/run/opengauss && chown -R omm:omm /usr/local/opengauss && chown -R omm:omm /var/lib/opengauss && chown -R omm:omm /docker-entrypoint-initdb.d && \
chmod 2777 /var/run/opengauss && \ chmod 2777 /var/run/opengauss && \
rm -rf openGauss-3.0.0-openEuler-64bit.tar.bz2 && yum clean all rm -rf openGauss-5.0.0-openEuler-64bit.tar.bz2 && yum clean all
RUN set -eux; \ RUN set -eux; \
echo "export GAUSSHOME=/usr/local/opengauss" >> /home/omm/.bashrc && \ echo "export GAUSSHOME=/usr/local/opengauss" >> /home/omm/.bashrc && \

View File

@ -308,13 +308,8 @@ docker_temp_server_start() {
shift shift
fi fi
# internal start of server in order to allow setup using gsql client
# does not listen on external TCP/IP and waits until start finishes
set -- "$@" -c "listen_addresses='*'" -p "${PGPORT:-5432}"
PGUSER="${PGUSER:-$GS_USER}" \ PGUSER="${PGUSER:-$GS_USER}" \
gs_ctl -D "$PGDATA" \ gs_ctl -D "$PGDATA" \
-o "$(printf '%q ' "$@")" \
-w start -w start
} }

View File

@ -84,7 +84,7 @@ check_docker_version() {
############## ##############
# Parameters # Parameters
VERSION="1.0.0" VERSION="5.0.0"
SKIPCHECKSUM=0 SKIPCHECKSUM=0
DOCKEROPS="" DOCKEROPS=""
MIN_DOCKER_VERSION="17.09" MIN_DOCKER_VERSION="17.09"

View File

@ -1,112 +1,112 @@
#!/bin/bash #!/bin/bash
# create master and slave # create master and slave
# Copyright (c) Huawei Technologies Co., Ltd. 2020-2028. All rights reserved. # Copyright (c) Huawei Technologies Co., Ltd. 2020-2028. All rights reserved.
# #
#openGauss is licensed under Mulan PSL v2. #openGauss is licensed under Mulan PSL v2.
#You can use this software according to the terms and conditions of the Mulan PSL v2. #You can use this software according to the terms and conditions of the Mulan PSL v2.
#You may obtain a copy of Mulan PSL v2 at: #You may obtain a copy of Mulan PSL v2 at:
# #
# http://license.coscl.org.cn/MulanPSL2 # http://license.coscl.org.cn/MulanPSL2
# #
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, # EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. # MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details. # See the Mulan PSL v2 for more details.
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# #
# create_master_slave.sh # create_master_slave.sh
# create master and slave # create master and slave
# #
# IDENTIFICATION # IDENTIFICATION
# GaussDBKernel/server/docker/dockerfiles/create_master_slave.sh # GaussDBKernel/server/docker/dockerfiles/create_master_slave.sh
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#set OG_SUBNET,GS_PASSWORD,MASTER_IP,SLAVE_1_IP,MASTER_HOST_PORT,MASTER_LOCAL_PORT,SLAVE_1_HOST_PORT,SLAVE_1_LOCAL_PORT,MASTER_NODENAME,SLAVE_NODENAME #set OG_SUBNET,GS_PASSWORD,MASTER_IP,SLAVE_1_IP,MASTER_HOST_PORT,MASTER_LOCAL_PORT,SLAVE_1_HOST_PORT,SLAVE_1_LOCAL_PORT,MASTER_NODENAME,SLAVE_NODENAME
read -p "Please input OG_SUBNET (容器所在网段) [172.11.0.0/24]: " OG_SUBNET read -p "Please input OG_SUBNET (容器所在网段) [172.11.0.0/24]: " OG_SUBNET
OG_SUBNET=${OG_SUBNET:-172.11.0.0/24} OG_SUBNET=${OG_SUBNET:-172.11.0.0/24}
echo "OG_SUBNET set $OG_SUBNET" echo "OG_SUBNET set $OG_SUBNET"
read -p "Please input GS_PASSWORD (定义数据库密码)[Enmo@123]: " GS_PASSWORD read -p "Please input GS_PASSWORD (定义数据库密码)[Enmo@123]: " GS_PASSWORD
GS_PASSWORD=${GS_PASSWORD:-Enmo@123} GS_PASSWORD=${GS_PASSWORD:-Enmo@123}
echo "GS_PASSWORD set $GS_PASSWORD" echo "GS_PASSWORD set $GS_PASSWORD"
read -p "Please input MASTER_IP (主库IP)[172.11.0.101]: " MASTER_IP read -p "Please input MASTER_IP (主库IP)[172.11.0.101]: " MASTER_IP
MASTER_IP=${MASTER_IP:-172.11.0.101} MASTER_IP=${MASTER_IP:-172.11.0.101}
echo "MASTER_IP set $MASTER_IP" echo "MASTER_IP set $MASTER_IP"
read -p "Please input SLAVE_1_IP (备库IP)[172.11.0.102]: " SLAVE_1_IP read -p "Please input SLAVE_1_IP (备库IP)[172.11.0.102]: " SLAVE_1_IP
SLAVE_1_IP=${SLAVE_1_IP:-172.11.0.102} SLAVE_1_IP=${SLAVE_1_IP:-172.11.0.102}
echo "SLAVE_1_IP set $SLAVE_1_IP" echo "SLAVE_1_IP set $SLAVE_1_IP"
read -p "Please input MASTER_HOST_PORT (主库数据库服务端口)[5432]: " MASTER_HOST_PORT read -p "Please input MASTER_HOST_PORT (主库数据库服务端口)[5432]: " MASTER_HOST_PORT
MASTER_HOST_PORT=${MASTER_HOST_PORT:-5432} MASTER_HOST_PORT=${MASTER_HOST_PORT:-5432}
echo "MASTER_HOST_PORT set $MASTER_HOST_PORT" echo "MASTER_HOST_PORT set $MASTER_HOST_PORT"
read -p "Please input MASTER_LOCAL_PORT (主库通信端口)[5434]: " MASTER_LOCAL_PORT read -p "Please input MASTER_LOCAL_PORT (主库通信端口)[5434]: " MASTER_LOCAL_PORT
MASTER_LOCAL_PORT=${MASTER_LOCAL_PORT:-5434} MASTER_LOCAL_PORT=${MASTER_LOCAL_PORT:-5434}
echo "MASTER_LOCAL_PORT set $MASTER_LOCAL_PORT" echo "MASTER_LOCAL_PORT set $MASTER_LOCAL_PORT"
read -p "Please input SLAVE_1_HOST_PORT (备库数据库服务端口)[6432]: " SLAVE_1_HOST_PORT read -p "Please input SLAVE_1_HOST_PORT (备库数据库服务端口)[6432]: " SLAVE_1_HOST_PORT
SLAVE_1_HOST_PORT=${SLAVE_1_HOST_PORT:-6432} SLAVE_1_HOST_PORT=${SLAVE_1_HOST_PORT:-6432}
echo "SLAVE_1_HOST_PORT set $SLAVE_1_HOST_PORT" echo "SLAVE_1_HOST_PORT set $SLAVE_1_HOST_PORT"
read -p "Please input SLAVE_1_LOCAL_PORT (备库通信端口)[6434]: " SLAVE_1_LOCAL_PORT read -p "Please input SLAVE_1_LOCAL_PORT (备库通信端口)[6434]: " SLAVE_1_LOCAL_PORT
SLAVE_1_LOCAL_PORT=${SLAVE_1_LOCAL_PORT:-6434} SLAVE_1_LOCAL_PORT=${SLAVE_1_LOCAL_PORT:-6434}
echo "SLAVE_1_LOCAL_PORT set $SLAVE_1_LOCAL_PORT" echo "SLAVE_1_LOCAL_PORT set $SLAVE_1_LOCAL_PORT"
read -p "Please input MASTER_NODENAME [opengauss_master]: " MASTER_NODENAME read -p "Please input MASTER_NODENAME [opengauss_master]: " MASTER_NODENAME
MASTER_NODENAME=${MASTER_NODENAME:-opengauss_master} MASTER_NODENAME=${MASTER_NODENAME:-opengauss_master}
echo "MASTER_NODENAME set $MASTER_NODENAME" echo "MASTER_NODENAME set $MASTER_NODENAME"
read -p "Please input SLAVE_NODENAME [opengauss_slave1]: " SLAVE_NODENAME read -p "Please input SLAVE_NODENAME [opengauss_slave1]: " SLAVE_NODENAME
SLAVE_NODENAME=${SLAVE_NODENAME:-opengauss_slave1} SLAVE_NODENAME=${SLAVE_NODENAME:-opengauss_slave1}
echo "SLAVE_NODENAME set $SLAVE_NODENAME" echo "SLAVE_NODENAME set $SLAVE_NODENAME"
read -p "Please input openGauss VERSION [1.0.1]: " VERSION read -p "Please input openGauss VERSION [5.0.0]: " VERSION
VERSION=${VERSION:-1.0.1} VERSION=${VERSION:-5.0.0}
echo "openGauss VERSION set $VERSION" echo "openGauss VERSION set $VERSION"
echo "starting " echo "starting "
docker network create --subnet=$OG_SUBNET opengaussnetwork \ docker network create --subnet=$OG_SUBNET opengaussnetwork \
|| { || {
echo "" echo ""
echo "ERROR: OpenGauss Database Network was NOT successfully created." echo "ERROR: OpenGauss Database Network was NOT successfully created."
echo "HINT: opengaussnetwork Maybe Already Exsist Please Execute 'docker network rm opengaussnetwork' " echo "HINT: opengaussnetwork Maybe Already Exsist Please Execute 'docker network rm opengaussnetwork' "
exit 1 exit 1
} }
echo "OpenGauss Database Network Created." echo "OpenGauss Database Network Created."
docker run --network opengaussnetwork --ip $MASTER_IP --privileged=true \ docker run --network opengaussnetwork --ip $MASTER_IP --privileged=true \
--name $MASTER_NODENAME -h $MASTER_NODENAME -p $MASTER_HOST_PORT:$MASTER_HOST_PORT -d \ --name $MASTER_NODENAME -h $MASTER_NODENAME -p $MASTER_HOST_PORT:$MASTER_HOST_PORT -d \
-e GS_PORT=$MASTER_HOST_PORT \ -e GS_PORT=$MASTER_HOST_PORT \
-e OG_SUBNET=$OG_SUBNET \ -e OG_SUBNET=$OG_SUBNET \
-e GS_PASSWORD=$GS_PASSWORD \ -e GS_PASSWORD=$GS_PASSWORD \
-e NODE_NAME=$MASTER_NODENAME \ -e NODE_NAME=$MASTER_NODENAME \
-e REPL_CONN_INFO="replconninfo1 = 'localhost=$MASTER_IP localport=$MASTER_LOCAL_PORT localservice=$MASTER_HOST_PORT remotehost=$SLAVE_1_IP remoteport=$SLAVE_1_LOCAL_PORT remoteservice=$SLAVE_1_HOST_PORT'\n" \ -e REPL_CONN_INFO="replconninfo1 = 'localhost=$MASTER_IP localport=$MASTER_LOCAL_PORT localservice=$MASTER_HOST_PORT remotehost=$SLAVE_1_IP remoteport=$SLAVE_1_LOCAL_PORT remoteservice=$SLAVE_1_HOST_PORT'\n" \
opengauss:$VERSION -M primary \ opengauss:$VERSION -M primary \
|| { || {
echo "" echo ""
echo "ERROR: OpenGauss Database Master Docker Container was NOT successfully created." echo "ERROR: OpenGauss Database Master Docker Container was NOT successfully created."
exit 1 exit 1
} }
echo "OpenGauss Database Master Docker Container created." echo "OpenGauss Database Master Docker Container created."
sleep 30s sleep 30s
docker run --network opengaussnetwork --ip $SLAVE_1_IP --privileged=true \ docker run --network opengaussnetwork --ip $SLAVE_1_IP --privileged=true \
--name $SLAVE_NODENAME -h $SLAVE_NODENAME -p $SLAVE_1_HOST_PORT:$SLAVE_1_HOST_PORT -d \ --name $SLAVE_NODENAME -h $SLAVE_NODENAME -p $SLAVE_1_HOST_PORT:$SLAVE_1_HOST_PORT -d \
-e GS_PORT=$SLAVE_1_HOST_PORT \ -e GS_PORT=$SLAVE_1_HOST_PORT \
-e OG_SUBNET=$OG_SUBNET \ -e OG_SUBNET=$OG_SUBNET \
-e GS_PASSWORD=$GS_PASSWORD \ -e GS_PASSWORD=$GS_PASSWORD \
-e NODE_NAME=$SLAVE_NODENAME \ -e NODE_NAME=$SLAVE_NODENAME \
-e REPL_CONN_INFO="replconninfo1 = 'localhost=$SLAVE_1_IP localport=$SLAVE_1_LOCAL_PORT localservice=$SLAVE_1_HOST_PORT remotehost=$MASTER_IP remoteport=$MASTER_LOCAL_PORT remoteservice=$MASTER_HOST_PORT'\n" \ -e REPL_CONN_INFO="replconninfo1 = 'localhost=$SLAVE_1_IP localport=$SLAVE_1_LOCAL_PORT localservice=$SLAVE_1_HOST_PORT remotehost=$MASTER_IP remoteport=$MASTER_LOCAL_PORT remoteservice=$MASTER_HOST_PORT'\n" \
opengauss:$VERSION -M standby \ opengauss:$VERSION -M standby \
|| { || {
echo "" echo ""
echo "ERROR: OpenGauss Database Slave1 Docker Container was NOT successfully created." echo "ERROR: OpenGauss Database Slave1 Docker Container was NOT successfully created."
exit 1 exit 1
} }
echo "OpenGauss Database Slave1 Docker Container created." echo "OpenGauss Database Slave1 Docker Container created."