41 lines
1.5 KiB
Plaintext
41 lines
1.5 KiB
Plaintext
# Для доставки сертификати в /etc/nginx/ssl/ использовать volume
|
|
#ARGS: SERVER_NAMES, CERT_FILE, CERT_KEY_FILE, CONT_IMG_VER
|
|
|
|
FROM nginx:stable-alpine
|
|
USER nginx
|
|
EXPOSE 80 443
|
|
|
|
#static site + http to https redirect server
|
|
COPY ./nginx_configs/nginx_static.conf /etc/nginx/nginx.conf
|
|
|
|
#set server name if arg not empty
|
|
ARG SERVER_NAMES
|
|
RUN if [ ! -z ${SERVER_NAMES} ]; then \
|
|
sed -i "s/server_name _;/server_name $SERVER_NAMES;/g" /etc/nginx/nginx.conf ;\
|
|
fi
|
|
|
|
#set certificate file name if arg not empty
|
|
ARG CERT_FILE
|
|
RUN if [ ! -z ${CERT_FILE} ]; then \
|
|
sed -i "s/ssl_certificate \/etc\/nginx\/ssl\/cert.pem;/ssl_certificate \/etc\/nginx\/ssl\/$CERT_FILE;/g" /etc/nginx/sites-enabled/static.conf ;\
|
|
fi
|
|
|
|
#set certificate key file name if arg not empty
|
|
ARG CERT_KEY_FILE
|
|
RUN if [ ! -z ${CERT_KEY_FILE} ]; then \
|
|
sed -i "s/ssl_certificate_key \/etc\/nginx\/ssl\/key.pem;/ssl_certificate_key \/etc\/nginx\/ssl\/$CERT_KEY_FILE;/g" /etc/nginx/sites-enabled/static.conf ;\
|
|
fi
|
|
|
|
#set container image version if arg not empty else 1.0.0
|
|
ARG CONT_IMG_VER
|
|
ENV CONT_IMG_VER=${CONT_IMG_VER:-v1.0.0}
|
|
|
|
#copy project files
|
|
COPY ./project /var/www/html/
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|
|
|
|
#build string example
|
|
#docker build -f Dockerfiles/Dockerfile_staticsite -t static_site --no-cache --build-arg SERVER_NAMES=softsols.ru .
|
|
#check server_name in image
|
|
#docker run --rm -it -p 8084:443 -p 8083:80 static_site sh -c "cat /etc/nginx/sites-enabled/static.conf" |