added to nginx the option to verify hostnames changes in ip. nginx open source doesn't resolve upstream servers after start
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
FROM centos:7
|
FROM centos:7
|
||||||
COPY repo /etc/yum.repos.d/Nginx.repo
|
COPY repo /etc/yum.repos.d/Nginx.repo
|
||||||
RUN yum update -y
|
RUN yum update -y
|
||||||
RUN yum install -y nginx \
|
RUN yum install -y nginx bind-utils\
|
||||||
&& yum clean all
|
&& yum clean all
|
||||||
COPY docker-entrypoint.sh /
|
COPY docker-entrypoint.sh /
|
||||||
RUN chmod +x /docker-entrypoint.sh
|
RUN chmod +x /docker-entrypoint.sh
|
||||||
|
|||||||
@@ -31,8 +31,58 @@ else
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ (! -z "${HOSTNAMESTOCHECK}" ) ]]; then
|
||||||
|
"$@" -c "/etc/nginx/nginx_tmp.conf" -g "daemon off;" &
|
||||||
|
|
||||||
|
declare -A HOSTNAMESIP
|
||||||
|
IFS="," read -a HOSTNAMESTOCHECKARRAY <<< "${HOSTNAMESTOCHECK}"
|
||||||
|
for HOST in "${HOSTNAMESTOCHECKARRAY[@]}"
|
||||||
|
do
|
||||||
|
HOSTIP=`dig +short $HOST`
|
||||||
|
HOSTIP=`echo "$HOSTIP" | tr ' ' '\n' | sort | tr '\n' ' '`
|
||||||
|
HOSTNAMESIP[$HOST]=$HOSTIP
|
||||||
|
echo IP FOR $HOST $HOSTIP
|
||||||
|
done
|
||||||
|
|
||||||
|
sleep 10
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
IPCHANGED=0
|
||||||
|
for HOST in "${HOSTNAMESTOCHECKARRAY[@]}"
|
||||||
|
do
|
||||||
|
NEWHOSTIP=`dig +short $HOST`
|
||||||
|
NEWHOSTIP=`echo "$NEWHOSTIP" | tr ' ' '\n' | sort | tr '\n' ' '`
|
||||||
|
OLDHOSTIP=${HOSTNAMESIP[$HOST]}
|
||||||
|
if [ "$NEWHOSTIP" != "$OLDHOSTIP" ]; then
|
||||||
|
if [ "$IPCHANGED" = 0 ]; then
|
||||||
|
IPCHANGED=1
|
||||||
|
fi
|
||||||
|
HOSTNAMESIP[$HOST]=$NEWHOSTIP
|
||||||
|
echo NEW IP FOR $HOST $NEWHOSTIP
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ "$IPCHANGED" = 1 ]; then
|
||||||
|
if [[ `ps -acx|grep nginx|wc -l` > 0 ]]; then
|
||||||
|
echo "RELOADING NGINX"
|
||||||
|
nginx -s reload
|
||||||
|
else
|
||||||
|
echo "RESTARTING NGINX"
|
||||||
|
"$@" -c "/etc/nginx/nginx_tmp.conf" -g "daemon off;" &
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
"$@" -c "/etc/nginx/nginx_tmp.conf" -g "daemon off;"
|
"$@" -c "/etc/nginx/nginx_tmp.conf" -g "daemon off;"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user