From ed754b520356413427a97fab542f43aa0d3563bc Mon Sep 17 00:00:00 2001 From: "jianghang.loujh" Date: Sat, 7 Oct 2023 21:54:00 +0800 Subject: [PATCH] fixed issue #4884, osbase/osadmin image support amd64/arm64 --- docker/Dockerfile | 5 +- docker/Dockerfile_admin | 3 +- docker/base/Dockerfile_admin | 11 ----- docker/base/Dockerfile_v2 | 11 ----- docker/base/README.md | 6 +++ docker/base/amd64/Dockerfile | 62 ++++++++++++++++++++++++ docker/base/amd64/Dockerfile_admin | 14 ++++++ docker/base/amd64/yum/CentOS-Base.repo | 43 +++++++++++++++++ docker/base/{ => arm64}/Dockerfile | 20 +++++--- docker/base/arm64/Dockerfile_admin | 14 ++++++ docker/base/arm64/yum/CentOS-Base.repo | 48 +++++++++++++++++++ docker/base/yum/CentOS-Base.repo | 66 -------------------------- docker/build.sh | 9 +--- docker/image/alidata/bin/main.sh | 6 +-- docker/image/app.sh | 4 +- docker/run.sh | 4 +- docker/run_admin.sh | 2 +- 17 files changed, 215 insertions(+), 113 deletions(-) delete mode 100644 docker/base/Dockerfile_admin delete mode 100644 docker/base/Dockerfile_v2 create mode 100644 docker/base/README.md create mode 100644 docker/base/amd64/Dockerfile create mode 100644 docker/base/amd64/Dockerfile_admin create mode 100644 docker/base/amd64/yum/CentOS-Base.repo rename docker/base/{ => arm64}/Dockerfile (72%) create mode 100644 docker/base/arm64/Dockerfile_admin create mode 100644 docker/base/arm64/yum/CentOS-Base.repo delete mode 100644 docker/base/yum/CentOS-Base.repo diff --git a/docker/Dockerfile b/docker/Dockerfile index 41ecde68..c497a72d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,5 @@ -FROM canal/osbase:v2 +FROM canal/osbase:v3-amd64 +#FROM canal/osbase:v3-arm64 LABEL agapple (jianghang115@gmail.com) @@ -19,7 +20,7 @@ RUN \ /bin/rm -f /home/admin/canal.deployer-*.tar.gz && \ tar zxvf /tmp/node_exporter.tar.gz -C /home/admin && \ - ln -s /home/admin/node_exporter-0.18.1.linux-arm64 /home/admin/node_exporter && \ + ln -s /home/admin/node_exporter-1.6.1* /home/admin/node_exporter && \ mkdir -p home/admin/canal-server/logs && \ chmod +x /home/admin/*.sh && \ diff --git a/docker/Dockerfile_admin b/docker/Dockerfile_admin index aee598e9..abc7e742 100644 --- a/docker/Dockerfile_admin +++ b/docker/Dockerfile_admin @@ -1,4 +1,5 @@ -FROM canal/osadmin:v1 +FROM canal/osadmin:v3-amd64 +#FROM canal/osadmin:v3-arm64 MAINTAINER agapple (jianghang115@gmail.com) diff --git a/docker/base/Dockerfile_admin b/docker/base/Dockerfile_admin deleted file mode 100644 index bf730bd4..00000000 --- a/docker/base/Dockerfile_admin +++ /dev/null @@ -1,11 +0,0 @@ -FROM canal/osbase:v1 - -MAINTAINER agapple (jianghang115@gmail.com) - -RUN \ - groupadd -r mysql && useradd -r -g mysql mysql && \ - yum -y install wget mysql-server --nogpgcheck && \ - yum clean all && \ - true - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/docker/base/Dockerfile_v2 b/docker/base/Dockerfile_v2 deleted file mode 100644 index 7de9ead1..00000000 --- a/docker/base/Dockerfile_v2 +++ /dev/null @@ -1,11 +0,0 @@ -FROM canal/osbase:v1 - -MAINTAINER agapple (jianghang115@gmail.com) - -env NODE_EPORTER_LINK="https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-arm64.tar.gz" - -RUN \ - wget "$NODE_EPORTER_LINK" -O /tmp/node_exporter.tar.gz && \ - true - -CMD ["/bin/bash"] \ No newline at end of file diff --git a/docker/base/README.md b/docker/base/README.md new file mode 100644 index 00000000..79853abf --- /dev/null +++ b/docker/base/README.md @@ -0,0 +1,6 @@ + +# osbase +cd amd64 && docker build --no-cache -t canal/osbase ./ -f Dockerfile + +# osadmin +cd amd64 && docker build --no-cache -t canal/osadmin ./ -f ./Dockerfile_admin diff --git a/docker/base/amd64/Dockerfile b/docker/base/amd64/Dockerfile new file mode 100644 index 00000000..b10f2aed --- /dev/null +++ b/docker/base/amd64/Dockerfile @@ -0,0 +1,62 @@ +# amd64 +FROM centos:centos7.9.2009@sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f +# arm64 +#FROM centos:centos7.9.2009@sha256:73f11afcbb50d8bc70eab9f0850b3fa30e61a419bc48cf426e63527d14a8373b + +ARG jdk_rpm +ARG platform_env + +MAINTAINER agapple (jianghang115@gmail.com) +# env DOWNLOAD_AMD_LINK="https://download.oracle.com/otn/java/jdk/8u361-b09/0ae14417abb444ebb02b9815e2103550/jdk-8u361-linux-x64.rpm" +# env DOWNLOAD_ARM_LINK="https://download.oracle.com/otn/java/jdk/8u361-b09/0ae14417abb444ebb02b9815e2103550/jdk-8u361-linux-aarch64.rpm" +env NODE_EPORTER_LINK="https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz" + +# install system +# update yum config, fix "centos6.x yum install failure && Determining fastest mirrors slow" problems +COPY yum/ /tmp/ +RUN \ + /bin/cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak && \ + /bin/cp -f /tmp/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo && \ + /bin/cp /etc/yum/pluginconf.d/fastestmirror.conf /etc/yum/pluginconf.d/fastestmirror.conf.bak && \ + awk '{ if($0=="enabled=1"){print "enabled=0";} else{print $0;} }' /etc/yum/pluginconf.d/fastestmirror.conf.bak > /etc/yum/pluginconf.d/fastestmirror.conf && \ + /bin/cp /etc/yum.conf /etc/yum.conf.bak && \ + echo 'minrate=1' >> /etc/yum.conf && echo 'timeout=600' >> /etc/yum.conf && \ + yum clean all && yum makecache + +RUN \ + /bin/cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ + echo 'root:Hello1234' | chpasswd && \ + groupadd -r admin && useradd -g admin admin && \ + yum install -y man && \ + yum install -y dstat && \ + yum install -y unzip && \ + yum install -y nc && \ + yum install -y openssh-server && \ + yum install -y tar && \ + yum install -y which && \ + yum install -y wget && \ + yum install -y perl && \ + yum install -y file && \ + ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key && \ + ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key && \ + sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd && \ + sed -i -e 's/^#Port 22$/Port 2222/' /etc/ssh/sshd_config && \ + mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh && \ + yum install -y cronie && \ + sed -i '/session required pam_loginuid.so/d' /etc/pam.d/crond && \ + true + +COPY ${jdk_rpm} /tmp/ +RUN \ + touch /var/lib/rpm/* && \ + #if [ "$BUILDPLATFORM" == "linux/amd64" ] ; then wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie" "$DOWNLOAD_AMD_LINK" -O /tmp/jdk-8-linux.rpm ; fi && \ + #if [ "$BUILDPLATFORM" == "linux/arm64" ] ; then wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie" "$DOWNLOAD_ARM_LINK" -O /tmp/jdk-8-linux.rpm ; fi && \ + yum -y install /tmp/jdk-*.rpm && \ + /bin/rm -f /tmp/jdk-*.rpm && \ + echo "export JAVA_HOME=/usr/java/latest" >> /etc/profile && \ + echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile && \ + wget "$NODE_EPORTER_LINK" -O /tmp/node_exporter.tar.gz && \ + yum clean all && \ + true + +CMD ["/bin/bash"] diff --git a/docker/base/amd64/Dockerfile_admin b/docker/base/amd64/Dockerfile_admin new file mode 100644 index 00000000..35a628f1 --- /dev/null +++ b/docker/base/amd64/Dockerfile_admin @@ -0,0 +1,14 @@ +# amd64 +FROM canal/osbase:v3-amd64 + +MAINTAINER agapple (jianghang115@gmail.com) + +RUN \ + groupadd -r mysql && useradd -r -g mysql mysql && \ + wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm && \ + rpm -ivh mysql80-community-release-el7-3.noarch.rpm && \ + yum install mysql-community-server --nogpgcheck -y && \ + yum clean all && \ + true + +CMD ["/bin/bash"] diff --git a/docker/base/amd64/yum/CentOS-Base.repo b/docker/base/amd64/yum/CentOS-Base.repo new file mode 100644 index 00000000..1740201d --- /dev/null +++ b/docker/base/amd64/yum/CentOS-Base.repo @@ -0,0 +1,43 @@ +# CentOS-Base.repo +# +# The mirror system uses the connecting IP address of the client and the +# update status of each mirror to pick mirrors that are updated to and +# geographically close to the client. You should use this for CentOS updates +# unless you are manually picking other mirrors. +# +# If the mirrorlist= does not work for you, as a fall back you can try the +# remarked out baseurl= line instead. +# +# + +[base] +name=CentOS-7 - Base +mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=os&infra=$infra +#baseurl=http://mirror.centos.org/centos/7/os/$basearch/ +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + +#released updates +[updates] +name=CentOS-7 - Updates +mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=updates&infra=$infra +#baseurl=http://mirror.centos.org/centos/7/updates/$basearch/ +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + +#additional packages that may be useful +[extras] +name=CentOS-7 - Extras +mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=extras&infra=$infra +#baseurl=http://mirror.centos.org/centos/7/extras/$basearch/ +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + +#additional packages that extend functionality of existing packages +[centosplus] +name=CentOS-7 - Plus +mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus&infra=$infra +#baseurl=http://mirror.centos.org/centos/7/centosplus/$basearch/ +gpgcheck=1 +enabled=0 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 diff --git a/docker/base/Dockerfile b/docker/base/arm64/Dockerfile similarity index 72% rename from docker/base/Dockerfile rename to docker/base/arm64/Dockerfile index 4000bc7c..0eb5e6ea 100644 --- a/docker/base/Dockerfile +++ b/docker/base/arm64/Dockerfile @@ -1,10 +1,15 @@ -FROM centos:centos6.10 +# arm64 +FROM centos:centos7.9.2009@sha256:73f11afcbb50d8bc70eab9f0850b3fa30e61a419bc48cf426e63527d14a8373b + +ARG jdk_rpm +ARG platform_env MAINTAINER agapple (jianghang115@gmail.com) +# env DOWNLOAD_AMD_LINK="https://download.oracle.com/otn/java/jdk/8u361-b09/0ae14417abb444ebb02b9815e2103550/jdk-8u361-linux-x64.rpm" +# env DOWNLOAD_ARM_LINK="https://download.oracle.com/otn/java/jdk/8u361-b09/0ae14417abb444ebb02b9815e2103550/jdk-8u361-linux-aarch64.rpm" +env NODE_EPORTER_LINK="https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-arm64.tar.gz" -env DOWNLOAD_LINK="https://download.oracle.com/otn-pub/java/jdk/8u281-b09/89d678f2be164786b292527658ca1605/jdk-8u281-linux-x64.rpm" # install system - # update yum config, fix "centos6.x yum install failure && Determining fastest mirrors slow" problems COPY yum/ /tmp/ RUN \ @@ -39,13 +44,14 @@ RUN \ sed -i '/session required pam_loginuid.so/d' /etc/pam.d/crond && \ true +COPY ${jdk_rpm} /tmp/ RUN \ - touch /var/lib/rpm/* && \ - wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=xxx; oraclelicense=accept-securebackup-cookie" "$DOWNLOAD_LINK" -O /tmp/jdk-8-linux-x64.rpm && \ - yum -y install /tmp/jdk-8-linux-x64.rpm && \ - /bin/rm -f /tmp/jdk-8-linux-x64.rpm && \ + touch /var/lib/rpm/* && \ + yum -y install /tmp/jdk-*.rpm && \ + /bin/rm -f /tmp/jdk-*.rpm && \ echo "export JAVA_HOME=/usr/java/latest" >> /etc/profile && \ echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile && \ + wget "$NODE_EPORTER_LINK" -O /tmp/node_exporter.tar.gz && \ yum clean all && \ true diff --git a/docker/base/arm64/Dockerfile_admin b/docker/base/arm64/Dockerfile_admin new file mode 100644 index 00000000..dc88b8b8 --- /dev/null +++ b/docker/base/arm64/Dockerfile_admin @@ -0,0 +1,14 @@ +# arm64 +FROM canal/osbase:v3-arm64 + +MAINTAINER agapple (jianghang115@gmail.com) + +RUN \ + groupadd -r mysql && useradd -r -g mysql mysql && \ + wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm && \ + rpm -ivh mysql80-community-release-el7-3.noarch.rpm && \ + yum install mysql-community-server --nogpgcheck -y && \ + yum clean all && \ + true + +CMD ["/bin/bash"] diff --git a/docker/base/arm64/yum/CentOS-Base.repo b/docker/base/arm64/yum/CentOS-Base.repo new file mode 100644 index 00000000..ee1b93b9 --- /dev/null +++ b/docker/base/arm64/yum/CentOS-Base.repo @@ -0,0 +1,48 @@ +# CentOS-Base.repo +# +# The mirror system uses the connecting IP address of the client and the +# update status of each mirror to pick mirrors that are updated to and +# geographically close to the client. You should use this for CentOS updates +# unless you are manually picking other mirrors. +# +# If the mirrorlist= does not work for you, as a fall back you can try the +# remarked out baseurl= line instead. +# +# + +[base] +name=CentOS-$releasever - Base +mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra +#baseurl=http://mirror.centos.org/altarch/$releasever/os/$basearch/ +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 + +#released updates +[updates] +name=CentOS-$releasever - Updates +mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra +#baseurl=http://mirror.centos.org/altarch/$releasever/updates/$basearch/ +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 + +#additional packages that may be useful +[extras] +name=CentOS-$releasever - Extras +mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra +#baseurl=http://mirror.centos.org/altarch/$releasever/extras/$basearch/ +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 +enabled=1 + +#additional packages that extend functionality of existing packages +[centosplus] +name=CentOS-$releasever - Plus +mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra +#baseurl=http://mirror.centos.org/altarch/$releasever/centosplus/$basearch/ +gpgcheck=1 +enabled=0 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 + file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 diff --git a/docker/base/yum/CentOS-Base.repo b/docker/base/yum/CentOS-Base.repo deleted file mode 100644 index 63ff498c..00000000 --- a/docker/base/yum/CentOS-Base.repo +++ /dev/null @@ -1,66 +0,0 @@ -# CentOS-Base.repo -# -# The mirror system uses the connecting IP address of the client and the -# update status of each mirror to pick mirrors that are updated to and -# geographically close to the client. You should use this for CentOS updates -# unless you are manually picking other mirrors. -# -# If the mirrorlist= does not work for you, as a fall back you can try the -# remarked out baseurl= line instead. -# - -[base] -name=CentOS-$releasever - Base -failovermethod=priority -#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra -baseurl=https://mirrors.aliyun.com/centos-vault/centos/$releasever/os/$basearch/ - https://mirrors.cloud.tencent.com/centos/$releasever/os/$basearch/ - https://vault.centos.org/centos/$releasever/os/$basearch/ -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#released updates -[updates] -name=CentOS-$releasever - Updates -failovermethod=priority -#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra -baseurl=https://mirrors.aliyun.com/centos-vault/centos/$releasever/updates/$basearch/ - https://mirrors.cloud.tencent.com/centos/$releasever/updates/$basearch/ - https://vault.centos.org/centos/$releasever/updates/$basearch/ -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#additional packages that may be useful -[extras] -name=CentOS-$releasever - Extras -failovermethod=priority -#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra -baseurl=https://mirrors.aliyun.com/centos-vault/centos/$releasever/extras/$basearch/ - https://mirrors.cloud.tencent.com/centos/$releasever/extras/$basearch/ - https://vault.centos.org/centos/$releasever/extras/$basearch/ -gpgcheck=1 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#additional packages that extend functionality of existing packages -[centosplus] -name=CentOS-$releasever - Plus -failovermethod=priority -#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra -baseurl=https://mirrors.aliyun.com/centos-vault/centos/$releasever/centosplus/$basearch/ - https://mirrors.cloud.tencent.com/centos/6.0/centosplus/$basearch/ - https://vault.centos.org/centos/$releasever/centosplus/$basearch/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 - -#contrib - packages by Centos Users -[contrib] -name=CentOS-$releasever - Contrib -failovermethod=priority -#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra -baseurl=https://mirrors.aliyun.com/centos-vault/centos/$releasever/contrib/$basearch/ - https://mirrors.cloud.tencent.com/centos/$releasever/contrib/$basearch/ - https://vault.centos.org/centos/$releasever/contrib/$basearch/ -gpgcheck=1 -enabled=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 \ No newline at end of file diff --git a/docker/build.sh b/docker/build.sh index f49c3147..acdc18a4 100644 --- a/docker/build.sh +++ b/docker/build.sh @@ -14,13 +14,8 @@ case "`uname`" in esac BASE=${bin_abs_path} -if [ "$1" == "base" ] ; then - docker build --no-cache -t canal/osbase $BASE/base -elif [ "$1" == "base_v2" ] ; then - docker build --no-cache -t canal/osbase $BASE/base -f $BASE/base/Dockerfile_v2 -elif [ "$1" == "base_admin" ] ; then - docker build --no-cache -t canal/osadmin $BASE/base -f $BASE/base/Dockerfile_admin -elif [ "$1" == "admin" ] ; then + +if [ "$1" == "admin" ] ; then rm -rf $BASE/canal.*.tar.gz ; cd $BASE/../ && mvn clean package -Dmaven.test.skip -Denv=release && cd $current_path ; cp $BASE/../target/canal.admin-*.tar.gz $BASE/ diff --git a/docker/image/alidata/bin/main.sh b/docker/image/alidata/bin/main.sh index a57551a7..256e7bcd 100755 --- a/docker/image/alidata/bin/main.sh +++ b/docker/image/alidata/bin/main.sh @@ -12,8 +12,8 @@ for e in $(ls /alidata/init/*) ; do done echo "==> INIT DEFAULT" -service sshd start -service crond start +systemctl start sshd +systemctl start crond #echo "check hostname -i: `hostname -i`" #hti_num=`hostname -i|awk '{print NF}'` @@ -24,4 +24,4 @@ service crond start echo "==> INIT DONE" echo "==> RUN ${*}" -exec "${@}" \ No newline at end of file +exec "${@}" diff --git a/docker/image/app.sh b/docker/image/app.sh index ee9b6b62..30c76d50 100755 --- a/docker/image/app.sh +++ b/docker/image/app.sh @@ -87,7 +87,7 @@ function start_canal() { su admin -c 'cd /home/admin/canal-server/bin/ && sh restart.sh local 1>>/tmp/start.log 2>&1' sleep 5 #check start - checkStart "canal" "nc 127.0.0.1 $adminPort -w 1 -z | wc -l" 30 + checkStart "canal" "nc 127.0.0.1 $adminPort -w 1 -zv 2> /tmp/nc.out && cat /tmp/nc.out | grep -c Connected" 30 else metricsPort=`perl -le 'print $ENV{"canal.metrics.pull.port"}'` if [ -z "$metricsPort" ] ; then @@ -120,7 +120,7 @@ function start_canal() { su admin -c 'cd /home/admin/canal-server/bin/ && sh restart.sh 1>>/tmp/start.log 2>&1' sleep 5 #check start - checkStart "canal" "nc 127.0.0.1 $metricsPort -w 1 -z | wc -l" 30 + checkStart "canal" "nc 127.0.0.1 $metricsPort -w 1 -zv 2> /tmp/nc.out && cat /tmp/nc.out | grep -c Connected" 30 fi } diff --git a/docker/run.sh b/docker/run.sh index 16751911..da1cad86 100644 --- a/docker/run.sh +++ b/docker/run.sh @@ -97,6 +97,6 @@ fi MEMORY="-m 4096m" LOCALHOST=`getMyIp` -cmd="docker run -d -it -h $LOCALHOST $CONFIG --name=canal-server $VOLUMNS $NET_MODE $PORTS $MEMORY canal/canal-server" +cmd="docker run -d --privileged=true -it -h $LOCALHOST $CONFIG --name=canal-server $VOLUMNS $NET_MODE $PORTS $MEMORY canal/canal-server" echo $cmd -eval $cmd \ No newline at end of file +eval $cmd diff --git a/docker/run_admin.sh b/docker/run_admin.sh index 75034eea..b5aed3c2 100644 --- a/docker/run_admin.sh +++ b/docker/run_admin.sh @@ -86,6 +86,6 @@ fi MEMORY="-m 1024m" LOCALHOST=`getMyIp` -cmd="docker run -d -it -h $LOCALHOST $CONFIG --name=canal-admin $VOLUMNS $NET_MODE $PORTS $MEMORY canal/canal-admin" +cmd="docker run -d --privileged=true -it -h $LOCALHOST $CONFIG --name=canal-admin $VOLUMNS $NET_MODE $PORTS $MEMORY canal/canal-admin" echo $cmd eval $cmd