Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Solr to 8.3.1 #7082

Merged
merged 1 commit into from
Dec 5, 2019
Merged

Update Solr to 8.3.1 #7082

merged 1 commit into from
Dec 5, 2019

Conversation

makuk66
Copy link
Contributor

@makuk66 makuk66 commented Dec 5, 2019

@yosifkit
Copy link
Member

yosifkit commented Dec 5, 2019

Diff:
diff --git a/_bashbrew-list b/_bashbrew-list
index 1fe155c..a1187cb 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -40,7 +40,7 @@ solr:8.2.0
 solr:8.2.0-slim
 solr:8.3
 solr:8.3-slim
-solr:8.3.0
-solr:8.3.0-slim
+solr:8.3.1
+solr:8.3.1-slim
 solr:latest
 solr:slim
diff --git a/solr_5-slim/Dockerfile b/solr_5-slim/Dockerfile
index 74aa536..2c55244 100644
--- a/solr_5-slim/Dockerfile
+++ b/solr_5-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="5.5.5" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/5.5.5/solr-5.5.5.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/5.5.5/solr-5.5.5.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
     SOLR_SHA256="2bbe3a55976f118c5d8c2382d4591257f6e2af779c08c6561e44afa3181a87c1" \
     SOLR_KEYS="5F55943E13D49059D3F342777186B06E1ED139E7" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_5-slim/scripts/oom_solr.sh b/solr_5-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_5-slim/scripts/oom_solr.sh
+++ b/solr_5-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_5/Dockerfile b/solr_5/Dockerfile
index cbaea84..e1b0ebf 100644
--- a/solr_5/Dockerfile
+++ b/solr_5/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="5.5.5" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/5.5.5/solr-5.5.5.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/5.5.5/solr-5.5.5.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/5.5.5/solr-5.5.5.tgz" \
     SOLR_SHA256="2bbe3a55976f118c5d8c2382d4591257f6e2af779c08c6561e44afa3181a87c1" \
     SOLR_KEYS="5F55943E13D49059D3F342777186B06E1ED139E7" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_5/scripts/oom_solr.sh b/solr_5/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_5/scripts/oom_solr.sh
+++ b/solr_5/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_6-slim/Dockerfile b/solr_6-slim/Dockerfile
index d2658c2..a2b087f 100644
--- a/solr_6-slim/Dockerfile
+++ b/solr_6-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="6.6.6" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/6.6.6/solr-6.6.6.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/6.6.6/solr-6.6.6.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
     SOLR_SHA256="149ec1a7ee950867ab6257a1a96246df79ccda983983389dc639220f3447b6e8" \
     SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_6-slim/scripts/oom_solr.sh b/solr_6-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_6-slim/scripts/oom_solr.sh
+++ b/solr_6-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_6/Dockerfile b/solr_6/Dockerfile
index af25f0c..284b350 100644
--- a/solr_6/Dockerfile
+++ b/solr_6/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="6.6.6" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/6.6.6/solr-6.6.6.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/6.6.6/solr-6.6.6.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/6.6.6/solr-6.6.6.tgz" \
     SOLR_SHA256="149ec1a7ee950867ab6257a1a96246df79ccda983983389dc639220f3447b6e8" \
     SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_6/scripts/oom_solr.sh b/solr_6/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_6/scripts/oom_solr.sh
+++ b/solr_6/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7-slim/Dockerfile b/solr_7-slim/Dockerfile
index 9a897e1..b425516 100644
--- a/solr_7-slim/Dockerfile
+++ b/solr_7-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="7.7.2" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.7.2/solr-7.7.2.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.7.2/solr-7.7.2.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
     SOLR_SHA256="eb8ee4038f25364328355de3338e46961093e39166c9bcc28b5915ae491320df" \
     SOLR_KEYS="2CECBFBA181601547B654B9FFA81AC8A490F538E" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7-slim/scripts/oom_solr.sh b/solr_7-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7-slim/scripts/oom_solr.sh
+++ b/solr_7-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.5-slim/Dockerfile b/solr_7.5-slim/Dockerfile
index 1f64e1f..6bfb926 100644
--- a/solr_7.5-slim/Dockerfile
+++ b/solr_7.5-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="7.5.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.5.0/solr-7.5.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.5.0/solr-7.5.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
     SOLR_SHA256="eac2daffc376dd8057ee831fbfc4a1b8ee236b8ad94122e11d67fd2b242acebc" \
     SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.5-slim/scripts/oom_solr.sh b/solr_7.5-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.5-slim/scripts/oom_solr.sh
+++ b/solr_7.5-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.5/Dockerfile b/solr_7.5/Dockerfile
index 6bf885e..c862d20 100644
--- a/solr_7.5/Dockerfile
+++ b/solr_7.5/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="7.5.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.5.0/solr-7.5.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.5.0/solr-7.5.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.5.0/solr-7.5.0.tgz" \
     SOLR_SHA256="eac2daffc376dd8057ee831fbfc4a1b8ee236b8ad94122e11d67fd2b242acebc" \
     SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.5/scripts/oom_solr.sh b/solr_7.5/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.5/scripts/oom_solr.sh
+++ b/solr_7.5/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.6-slim/Dockerfile b/solr_7.6-slim/Dockerfile
index ea83695..31f2cb7 100644
--- a/solr_7.6-slim/Dockerfile
+++ b/solr_7.6-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="7.6.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.6.0/solr-7.6.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.6.0/solr-7.6.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
     SOLR_SHA256="2cb425a0b30ff153465d306803e514e53e41924d74f28d842cb3a07cace759d5" \
     SOLR_KEYS="95B01F0E78111D63D331C1A751F0CC22F625308A" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.6-slim/scripts/oom_solr.sh b/solr_7.6-slim/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.6-slim/scripts/oom_solr.sh
+++ b/solr_7.6-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7.6/Dockerfile b/solr_7.6/Dockerfile
index b171b24..0ea364c 100644
--- a/solr_7.6/Dockerfile
+++ b/solr_7.6/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="7.6.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.6.0/solr-7.6.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.6.0/solr-7.6.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.6.0/solr-7.6.0.tgz" \
     SOLR_SHA256="2cb425a0b30ff153465d306803e514e53e41924d74f28d842cb3a07cace759d5" \
     SOLR_KEYS="95B01F0E78111D63D331C1A751F0CC22F625308A" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7.6/scripts/oom_solr.sh b/solr_7.6/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7.6/scripts/oom_solr.sh
+++ b/solr_7.6/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_7/Dockerfile b/solr_7/Dockerfile
index 4dfeed6..7049f4e 100644
--- a/solr_7/Dockerfile
+++ b/solr_7/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="7.7.2" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/7.7.2/solr-7.7.2.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/7.7.2/solr-7.7.2.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/7.7.2/solr-7.7.2.tgz" \
     SOLR_SHA256="eb8ee4038f25364328355de3338e46961093e39166c9bcc28b5915ae491320df" \
     SOLR_KEYS="2CECBFBA181601547B654B9FFA81AC8A490F538E" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH"
@@ -29,11 +31,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -e; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -54,7 +56,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -69,10 +71,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_7/scripts/oom_solr.sh b/solr_7/scripts/oom_solr.sh
index eb3463c..857a755 100755
--- a/solr_7/scripts/oom_solr.sh
+++ b/solr_7/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.0-slim/Dockerfile b/solr_8.0-slim/Dockerfile
index 09bc9c2..2f0c338 100644
--- a/solr_8.0-slim/Dockerfile
+++ b/solr_8.0-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="8.0.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.0.0/solr-8.0.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.0.0/solr-8.0.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
     SOLR_SHA256="0e6392d3b980ab917c731b054101aafcebceacc0e5063cb1e305aeeaec911d12" \
     SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.0-slim/scripts/oom_solr.sh b/solr_8.0-slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.0-slim/scripts/oom_solr.sh
+++ b/solr_8.0-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.0/Dockerfile b/solr_8.0/Dockerfile
index 7482005..9cd0bb4 100644
--- a/solr_8.0/Dockerfile
+++ b/solr_8.0/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="8.0.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.0.0/solr-8.0.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.0.0/solr-8.0.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.0.0/solr-8.0.0.tgz" \
     SOLR_SHA256="0e6392d3b980ab917c731b054101aafcebceacc0e5063cb1e305aeeaec911d12" \
     SOLR_KEYS="052C5B48A480B9CEA9E218A5F98C13CFA5A135D8" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.0/scripts/oom_solr.sh b/solr_8.0/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.0/scripts/oom_solr.sh
+++ b/solr_8.0/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.1-slim/Dockerfile b/solr_8.1-slim/Dockerfile
index 62c88f8..ce21451 100644
--- a/solr_8.1-slim/Dockerfile
+++ b/solr_8.1-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="8.1.1" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.1.1/solr-8.1.1.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.1.1/solr-8.1.1.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
     SOLR_SHA256="b515598c11f53fe28d682e3d71238642e9f34509194e3c4746e39bb7d7bb46a1" \
     SOLR_KEYS="F23F054D9EC50F2397FF2B814E67A2711D053DDB" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.1-slim/scripts/oom_solr.sh b/solr_8.1-slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.1-slim/scripts/oom_solr.sh
+++ b/solr_8.1-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.1/Dockerfile b/solr_8.1/Dockerfile
index 2704895..7ac1411 100644
--- a/solr_8.1/Dockerfile
+++ b/solr_8.1/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="8.1.1" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.1.1/solr-8.1.1.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.1.1/solr-8.1.1.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.1.1/solr-8.1.1.tgz" \
     SOLR_SHA256="b515598c11f53fe28d682e3d71238642e9f34509194e3c4746e39bb7d7bb46a1" \
     SOLR_KEYS="F23F054D9EC50F2397FF2B814E67A2711D053DDB" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.1/scripts/oom_solr.sh b/solr_8.1/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.1/scripts/oom_solr.sh
+++ b/solr_8.1/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.2-slim/Dockerfile b/solr_8.2-slim/Dockerfile
index 72cbcbc..50f1431 100644
--- a/solr_8.2-slim/Dockerfile
+++ b/solr_8.2-slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="8.2.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.2.0/solr-8.2.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.2.0/solr-8.2.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
     SOLR_SHA256="bfa4b39b236e5d714f4233138b8b5cb7e1996ddc0aad60052ce83c4b7bf33449" \
     SOLR_KEYS="E58A6F4D5B2B48AC66D5E53BD4F181881A42F9E6" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.2-slim/scripts/oom_solr.sh b/solr_8.2-slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.2-slim/scripts/oom_solr.sh
+++ b/solr_8.2-slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_8.2/Dockerfile b/solr_8.2/Dockerfile
index 36e82fe..6aaa6e5 100644
--- a/solr_8.2/Dockerfile
+++ b/solr_8.2/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -18,7 +18,9 @@ ENV SOLR_USER="solr" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
     SOLR_VERSION="8.2.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.2.0/solr-8.2.0.tgz" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.2.0/solr-8.2.0.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.2.0/solr-8.2.0.tgz" \
     SOLR_SHA256="bfa4b39b236e5d714f4233138b8b5cb7e1996ddc0aad60052ce83c4b7bf33449" \
     SOLR_KEYS="E58A6F4D5B2B48AC66D5E53BD4F181881A42F9E6" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_8.2/scripts/oom_solr.sh b/solr_8.2/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_8.2/scripts/oom_solr.sh
+++ b/solr_8.2/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_latest/Dockerfile b/solr_latest/Dockerfile
index 70e1fb7..fc75c83 100644
--- a/solr_latest/Dockerfile
+++ b/solr_latest/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -17,9 +17,11 @@ ENV SOLR_USER="solr" \
     SOLR_UID="8983" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
-    SOLR_VERSION="8.3.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.3.0/solr-8.3.0.tgz" \
-    SOLR_SHA256="1a9820915186227eaf6fcb851d60690853911b92a15b4e0b7f046324eb8d1387" \
+    SOLR_VERSION="8.3.1" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.3.1/solr-8.3.1.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+    SOLR_SHA256="300ae2632e1221aa4e4e4ffd317604dc0ee72f7af39cf78a7ba0e9b641320059" \
     SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
     SOLR_INCLUDE=/etc/default/solr.in.sh \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_latest/scripts/oom_solr.sh b/solr_latest/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_latest/scripts/oom_solr.sh
+++ b/solr_latest/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"
diff --git a/solr_slim/Dockerfile b/solr_slim/Dockerfile
index 688a0c0..43f8ba0 100644
--- a/solr_slim/Dockerfile
+++ b/solr_slim/Dockerfile
@@ -8,7 +8,7 @@ LABEL repository="https://github.com/docker-solr/docker-solr"
 #   docker build -t mine --build-arg SOLR_DOWNLOAD_SERVER=http://www-eu.apache.org/dist/lucene/solr .
 ARG SOLR_DOWNLOAD_SERVER
 
-RUN set -e; \
+RUN set -ex; \
   apt-get update; \
   apt-get -y install acl dirmngr gpg lsof procps wget netcat; \
   rm -rf /var/lib/apt/lists/*
@@ -17,9 +17,11 @@ ENV SOLR_USER="solr" \
     SOLR_UID="8983" \
     SOLR_GROUP="solr" \
     SOLR_GID="8983" \
-    SOLR_VERSION="8.3.0" \
-    SOLR_URL="${SOLR_DOWNLOAD_SERVER:-https://archive.apache.org/dist/lucene/solr}/8.3.0/solr-8.3.0.tgz" \
-    SOLR_SHA256="1a9820915186227eaf6fcb851d60690853911b92a15b4e0b7f046324eb8d1387" \
+    SOLR_VERSION="8.3.1" \
+    SOLR_CLOSER_URL="http://www.apache.org/dyn/closer.lua?filename=lucene/solr/8.3.1/solr-8.3.1.tgz&action=download" \
+    SOLR_DIST_URL="https://www.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+    SOLR_ARCHIVE_URL="https://archive.apache.org/dist/lucene/solr/8.3.1/solr-8.3.1.tgz" \
+    SOLR_SHA256="300ae2632e1221aa4e4e4ffd317604dc0ee72f7af39cf78a7ba0e9b641320059" \
     SOLR_KEYS="2085660D9C1FCCACC4A479A3BF160FF14992A24C" \
     PATH="/opt/solr/bin:/opt/docker-solr/scripts:$PATH" \
     SOLR_INCLUDE=/etc/default/solr.in.sh \
@@ -34,11 +36,11 @@ ENV GOSU_KEY B42F6819007F00F88E364FD4036A9C25BF357DD4
 ENV TINI_VERSION v0.18.0
 ENV TINI_KEY 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7
 
-RUN set -x; \
+RUN set -ex; \
   groupadd -r --gid "$SOLR_GID" "$SOLR_GROUP"; \
   useradd -r --uid "$SOLR_UID" --gid "$SOLR_GID" "$SOLR_USER"
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   mkdir -p "$GNUPGHOME"; \
   chmod 700 "$GNUPGHOME"; \
@@ -59,7 +61,7 @@ RUN set -e; \
   done; \
   exit 0
 
-RUN set -e; \
+RUN set -ex; \
   export GNUPGHOME="/tmp/gnupg_home"; \
   pkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; \
   wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$pkgArch"; \
@@ -74,10 +76,19 @@ RUN set -e; \
   rm /usr/local/bin/tini.asc; \
   chmod +x /usr/local/bin/tini; \
   tini --version; \
-  echo "downloading $SOLR_URL"; \
-  wget -nv "$SOLR_URL" -O "/opt/solr-$SOLR_VERSION.tgz"; \
-  echo "downloading $SOLR_URL.asc"; \
-  wget -nv "$SOLR_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
+  if [ -n "$SOLR_DOWNLOAD_SERVER" ]; then \
+    SOLR_DOWNLOAD_URL="$SOLR_DOWNLOAD_SERVER/$SOLR_VERSION/solr-$SOLR_VERSION.tgz"; \
+    echo "downloading $SOLR_DOWNLOAD_URL"; \
+    wget -t 10 --max-redirect 1 --retry-connrefused -nv "$SOLR_DOWNLOAD_URL" -O "/opt/solr-$SOLR_VERSION.tgz" || rm -f "/opt/solr-$SOLR_VERSION.tgz"; \
+  fi; \
+  for url in $SOLR_CLOSER_URL $SOLR_DIST_URL $SOLR_ARCHIVE_URL; do \
+    if [ -f "/opt/solr-$SOLR_VERSION.tgz" ]; then break; fi; \
+    echo "downloading $url"; \
+    if wget -t 10 --max-redirect 1 --retry-connrefused -nv "$url" -O "/opt/solr-$SOLR_VERSION.tgz"; then break; else rm -f "/opt/solr-$SOLR_VERSION.tgz"; fi; \
+  done; \
+  if [ ! -f "/opt/solr-$SOLR_VERSION.tgz" ]; then echo "failed all download attempts for solr-$SOLR_VERSION.tgz"; exit 1; fi; \
+  echo "downloading $SOLR_ARCHIVE_URL.asc"; \
+  wget -nv "$SOLR_ARCHIVE_URL.asc" -O "/opt/solr-$SOLR_VERSION.tgz.asc"; \
   echo "$SOLR_SHA256 */opt/solr-$SOLR_VERSION.tgz" | sha256sum -c -; \
   (>&2 ls -l "/opt/solr-$SOLR_VERSION.tgz" "/opt/solr-$SOLR_VERSION.tgz.asc"); \
   gpg --batch --verify "/opt/solr-$SOLR_VERSION.tgz.asc" "/opt/solr-$SOLR_VERSION.tgz"; \
diff --git a/solr_slim/scripts/oom_solr.sh b/solr_slim/scripts/oom_solr.sh
index b7c441d..bed5095 100755
--- a/solr_slim/scripts/oom_solr.sh
+++ b/solr_slim/scripts/oom_solr.sh
@@ -5,9 +5,9 @@
 # See solr-forgeground for how to configure OOM behaviour
 
 if [[ -z "${SOLR_LOGS_DIR:-}" ]]; then
-    if -d /var/solr/logs; then
+    if [ -d /var/solr/logs ]; then
         SOLR_LOGS_DIR=/var/solr/logs
-    elif -d /opt/solr/server/logs; then
+    elif [ -d /opt/solr/server/logs ]; then
         SOLR_LOGS_DIR=/opt/solr/server/logs
     else
         echo "Cannot determine SOLR_LOGS_DIR!"

@yosifkit
Copy link
Member

yosifkit commented Dec 5, 2019

Build test of #7082; c9444cd; amd64 (solr):

$ bashbrew build solr:8.3.1
Building bashbrew/cache:a554b509773cf46cc65e68303ebc3a3b42ef12f263c96db3a0dde23e81f4a0d3 (solr:8.3.1)
Tagging solr:8.3.1
Tagging solr:8.3
Tagging solr:8
Tagging solr:latest

$ test/run.sh solr:8.3.1
testing solr:8.3.1
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.3.1-slim
Building bashbrew/cache:2625fcd971ddf89541d8bb0ce173db39cbbbd1a96a22452f88632b3cf08f2012 (solr:8.3.1-slim)
Tagging solr:8.3.1-slim
Tagging solr:8.3-slim
Tagging solr:8-slim
Tagging solr:slim

$ test/run.sh solr:8.3.1-slim
testing solr:8.3.1-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.2.0
Building bashbrew/cache:aaaa3aeea055e3b36262ec49a008e8d1ac9721d47e954950710b8861dd04fd05 (solr:8.2.0)
Tagging solr:8.2.0
Tagging solr:8.2

$ test/run.sh solr:8.2.0
testing solr:8.2.0
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.2.0-slim
Building bashbrew/cache:5e4842803287476df1fbe4322cfb26aacfb1d52988ed6174edfe981eca482cd2 (solr:8.2.0-slim)
Tagging solr:8.2.0-slim
Tagging solr:8.2-slim

$ test/run.sh solr:8.2.0-slim
testing solr:8.2.0-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.1.1
Building bashbrew/cache:3fadf6ec22607d937960c07b8c4cb9e851f509a374d4c90ba5cb71ad7d507feb (solr:8.1.1)
Tagging solr:8.1.1
Tagging solr:8.1

$ test/run.sh solr:8.1.1
testing solr:8.1.1
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.1.1-slim
Building bashbrew/cache:05d1108a832aa0a4922dd34fcc9875f4368cb443ded65fd69a5117c8017c43bd (solr:8.1.1-slim)
Tagging solr:8.1.1-slim
Tagging solr:8.1-slim

$ test/run.sh solr:8.1.1-slim
testing solr:8.1.1-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.0.0
Building bashbrew/cache:0899a38b707c232583a00d6759f51d3c031a8ce602541c81ab6a07f9a4792224 (solr:8.0.0)
Tagging solr:8.0.0
Tagging solr:8.0

$ test/run.sh solr:8.0.0
testing solr:8.0.0
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:8.0.0-slim
Building bashbrew/cache:7eb3b57f9819454b9d424003a3e7cb1f64626a549a317bbd3caa55db693b0484 (solr:8.0.0-slim)
Tagging solr:8.0.0-slim
Tagging solr:8.0-slim

$ test/run.sh solr:8.0.0-slim
testing solr:8.0.0-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:7.7.2
Building bashbrew/cache:5b236b869c2229a66f539c7ffa9ee952dc0bc0edd0024a34dd03a39a4f069042 (solr:7.7.2)
Tagging solr:7.7.2
Tagging solr:7.7
Tagging solr:7

$ test/run.sh solr:7.7.2
testing solr:7.7.2
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:7.7.2-slim
Building bashbrew/cache:f80d1ed3bfa704c2480163eda581088f4685f2815b1c1f13e4a9da1e6026fca5 (solr:7.7.2-slim)
Tagging solr:7.7.2-slim
Tagging solr:7.7-slim
Tagging solr:7-slim

$ test/run.sh solr:7.7.2-slim
testing solr:7.7.2-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:7.6.0
Building bashbrew/cache:b4689a9cca6c72243ec4d0803742f79192c69dd6fdae8a9ca288844963ce40b5 (solr:7.6.0)
Tagging solr:7.6.0
Tagging solr:7.6

$ test/run.sh solr:7.6.0
testing solr:7.6.0
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:7.6.0-slim
Building bashbrew/cache:09e9f85ba5f1dedc7886e785eb342fe10349f7d23ad8095967737c213de4dc11 (solr:7.6.0-slim)
Tagging solr:7.6.0-slim
Tagging solr:7.6-slim

$ test/run.sh solr:7.6.0-slim
testing solr:7.6.0-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:7.5.0
Building bashbrew/cache:3009c5493b5b761b39ef6de982b2f2a30ace768751283407b1e9ee15723bbbaa (solr:7.5.0)
Tagging solr:7.5.0
Tagging solr:7.5

$ test/run.sh solr:7.5.0
testing solr:7.5.0
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:7.5.0-slim
Building bashbrew/cache:0e0cee3711a9c76fe7c21a9b9cf7d499962460a8f172bb2b6c78bcd5d80c1278 (solr:7.5.0-slim)
Tagging solr:7.5.0-slim
Tagging solr:7.5-slim

$ test/run.sh solr:7.5.0-slim
testing solr:7.5.0-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:6.6.6
Building bashbrew/cache:4431144693e1093caa0bac246366fef13eed415ee4a0053a7c0e21b793e0e84a (solr:6.6.6)
Tagging solr:6.6.6
Tagging solr:6.6
Tagging solr:6

$ test/run.sh solr:6.6.6
testing solr:6.6.6
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:6.6.6-slim
Building bashbrew/cache:a96ac707a16c78ca86e1d17fa1ba85282ecd5dd9535333769622d555504ffba1 (solr:6.6.6-slim)
Tagging solr:6.6.6-slim
Tagging solr:6.6-slim
Tagging solr:6-slim

$ test/run.sh solr:6.6.6-slim
testing solr:6.6.6-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:5.5.5
Building bashbrew/cache:adc85f8ce5a5f574059e2283882ff4b1b9c3b5bd1b7f8c1b086f58d84b7c326c (solr:5.5.5)
Tagging solr:5.5.5
Tagging solr:5.5
Tagging solr:5

$ test/run.sh solr:5.5.5
testing solr:5.5.5
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build solr:5.5.5-slim
Building bashbrew/cache:d6cabe9705012418c82a93f1b5bb1c748712e6c1171c31def0c004d96f2d6f85 (solr:5.5.5-slim)
Tagging solr:5.5.5-slim
Tagging solr:5.5-slim
Tagging solr:5-slim

$ test/run.sh solr:5.5.5-slim
testing solr:5.5.5-slim
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed

@yosifkit yosifkit merged commit 206a6b3 into docker-library:master Dec 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants