Sign inSign up

volador/nginx

By volador

Updated over 2 years ago

nginx with ngx_dynamic_upstream_module and ngx_http_dyups_module

Image
0

115

volador/nginx repository overview

FROM nginx:1.25.3-alpine-slim AS builder

ENV NGINX_VERSION 1.25.3
ENV DYUPS_VERSION 0.1.6
ENV TENGINE_VERSION 3.1.0

RUN wget "http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz" -O nginx.tar.gz \
    && wget "https://github.com/cubicdaiya/ngx_dynamic_upstream/archive/refs/tags/v${DYUPS_VERSION}.tar.gz" -O ngx_dynamic_upstream.tar.gz \
    && wget "https://github.com/alibaba/tengine/archive/refs/tags/${TENGINE_VERSION}.tar.gz" -O tengine.tar.gz

RUN apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre-dev zlib-dev linux-headers curl gnupg libxslt-dev gd-dev geoip-dev

RUN CONFARGS=$(nginx -V 2>&1 | sed -n -e 's/^.*arguments: //p') \
	  && tar -xzvf "nginx.tar.gz" \
    && tar -xzvf "ngx_dynamic_upstream.tar.gz" \
    && tar -xzvf "tengine.tar.gz" \
    && DYUPS_DIR="$(pwd)/ngx_dynamic_upstream-${DYUPS_VERSION}" \
    && HTTP_DYUPS_DIR="$(pwd)/tengine-${TENGINE_VERSION}/modules/ngx_http_upstream_dyups_module" \
    && cd nginx-$NGINX_VERSION \
    && echo "./configure --with-compat $CONFARGS --add-dynamic-module=$DYUPS_DIR --add-dynamic-module=$HTTP_DYUPS_DIR" > configure.sh \
    && sh configure.sh \
    && make && make install

FROM nginx:1.25.3-alpine-slim
RUN apk add --no-cache pcre
COPY . /build
COPY --from=builder /etc/nginx /etc/nginx
COPY --from=builder /usr/sbin/nginx /usr/sbin/nginx
COPY --from=builder /usr/lib/nginx/modules/ngx_http_dyups_module.so /usr/lib/nginx/modules/ngx_http_dyups_module.so
COPY --from=builder /usr/lib/nginx/modules/ngx_dynamic_upstream_module.so /usr/lib/nginx/modules/ngx_dynamic_upstream_module.so

EXPOSE 80
STOPSIGNAL SIGTERM
CMD ["nginx", "-g", "daemon off;"]

Tag summary

Content type

Image

Digest

sha256:7a09bd4ee

Size

8.5 MB

Last updated

over 2 years ago

docker pull volador/nginx:1.25.3-alpine-slim