ソースを参照

See Redmine 103912. Добавил функционал для рестора БД.

OBT-SYSADM\tomishinets 6 年 前
コミット
38d557799a
2 ファイル変更12 行追加4 行削除
  1. 2 3
      Dockerfile
  2. 10 1
      updatedb.sh

+ 2 - 3
Dockerfile

@@ -25,12 +25,11 @@ ARG repo=prod
 RUN set -x \
            && curl https://repo.infoclinica.ru/yum/centos/sds-${repo}-16.1.repo -o /etc/yum.repos.d/sds-${repo}-16.1.repo \
            && yum install tomcat-8.0.26-01 -y \
-           && yum install iputils -y \
-           && yum install telnet -y \
+           && yum install iputils telnet nc -y \
            && yum install web-laboratory-admin -y \
-           && yum install nc -y \
            && yum install mongodb-org-shell mongodb-org-tools -y \
            && yum clean all \
+           && rm -rf /var/cache/yum \
            && chmod +x /opt/docker-entrypoint.sh \
            && chmod +x /opt/healthcheck.sh \
            && chown -R tomcat:tomcat /etc/web-laboratory-admin \

+ 10 - 1
updatedb.sh

@@ -1,5 +1,14 @@
 #!/bin/sh
 
+# Проверяем наличие DB laboratory
+if [[ $(mongo --host ${DB_CLUSTER} --quiet --eval  "printjson(db.adminCommand('listDatabases'))"|grep -q "${MONGODB}";echo $?) -ne 0 ]];then
+  cd /tmp && tar xvf /opt/${MONGODB}.tar.gz
+  mongorestore --host ${DB_CLUSTER} -d ${MONGODB} ${MONGODB}
+  if [[ $? -ne 0 ]]; then echo "Database ${MONGODB} is not restored!!!";rm -rf /tmp/${MONGODB};exit 1;fi
+  rm -rf /tmp/${MONGODB}
+fi
+
+
 FB_USER=$(cat /run/secrets/FB3_USER_NAME)
 FB_PASSWORD=$(cat /run/secrets/FB3_USER_PWD)
 echo "Update db"
@@ -49,4 +58,4 @@ mongo --host ${DB_CLUSTER} ${MONGODB} --eval "if (db.getCollection('parameters')
             'loginMode' : 'LOGIN_PASSWORD'
         }
     })
-}"
+}"