nginx with ngx_dynamic_upstream_module and ngx_http_dyups_module
115
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;"]
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