1
1
# syntax=docker/dockerfile:1.16
2
2
ARG BUILD_OS=debian
3
+ ARG NGINX_OSS_VERSION=1.27
3
4
ARG NGINX_PLUS_VERSION=R34
4
5
ARG DOWNLOAD_TAG=edge
5
6
ARG DEBIAN_FRONTEND=noninteractive
@@ -83,6 +84,7 @@ USER 101
83
84
# ############################################ Base image for Alpine #############################################
84
85
FROM nginx:1.27.5-alpine@sha256:65645c7bb6a0661892a8b03b89d0743208a18dd2f3f17a54ef4b76fb8e2f2a10 AS alpine
85
86
ARG PACKAGE_REPO
87
+ ARG NGINX_OSS_VERSION
86
88
87
89
RUN --mount=type=bind,from=nginx-files,src=nginx_signing.rsa.pub,target=/etc/apk/keys/nginx_signing.rsa.pub \
88
90
--mount=type=bind,from=nginx-files,src=user_agent,target=/tmp/user_agent \
@@ -91,14 +93,15 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.rsa.pub,target=/etc/apk
91
93
&& export $(cat /tmp/user_agent) \
92
94
&& printf "%s%s%s\n " "http://packages.nginx.org/nginx/mainline/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
93
95
&& printf "%s%s%s\n " "http://packages.nginx.org/nginx-agent/alpine/v" `egrep -o '^[0-9]+\. [0-9]+' /etc/alpine-release` "/main" >> /etc/apk/repositories \
94
- && apk add --no-cache nginx-module-otel "nginx-agent<3.1" \
96
+ && apk add --no-cache nginx-module-otel~${NGINX_OSS_VERSION} "nginx-agent<3.1" \
95
97
&& ldconfig /usr/local/lib/ \
96
98
&& agent.sh \
97
99
&& sed -i -e '/nginx.org/d' /etc/apk/repositories
98
100
99
101
100
102
# ############################################ Base image for Debian #############################################
101
103
FROM nginx:1.27.5@sha256:6784fb0834aa7dbbe12e3d7471e69c290df3e6ba810dc38b34ae33d3c1c05f7d AS debian
104
+ ARG NGINX_OSS_VERSION
102
105
103
106
RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_signing.key \
104
107
--mount=type=bind,from=nginx-files,src=90pkgs-nginx,target=/etc/apt/apt.conf.d/90pkgs-nginx \
@@ -113,16 +116,16 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
113
116
http://packages.nginx.org/nginx-agent/debian `lsb_release -cs` agent" >> /etc/apt/sources.list.d/nginx.list \
114
117
&& printf "%s" "Package: *\n Pin: origin nginx.org\n Pin: release o=nginx\n Pin-Priority: 900\n " > /etc/apt/preferences.d/99nginx \
115
118
&& apt-get update \
116
- && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.0.* nginx-module-otel \
119
+ && apt-get install --no-install-recommends --no-install-suggests -y nginx-agent=3.0.* nginx-module-otel=${NGINX_OSS_VERSION}* \
117
120
&& apt-get purge --auto-remove -y gpg \
118
- && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx-agent.sources /etc/apt/preferences.d/99nginx /etc/apt/sources.list.d/nginx.list \
119
- && agent.sh \
120
- && ldconfig
121
+ && rm -rf /var/lib/apt/lists/* /etc/apt/preferences.d/99nginx /etc/apt/sources.list.d/nginx.list \
122
+ && agent.sh
121
123
122
124
123
125
# ############################################ Base image for UBI #############################################
124
126
FROM ubi-minimal AS ubi
125
127
ARG IC_VERSION
128
+ ARG NGINX_OSS_VERSION
126
129
127
130
LABEL name="NGINX Ingress Controller" \
128
131
@@ -156,7 +159,7 @@ RUN --mount=type=bind,from=nginx-files,src=nginx_signing.key,target=/tmp/nginx_s
156
159
&& printf "%s\n " "[agent]" "name=agent repo" \
157
160
"baseurl=https://packages.nginx.org/nginx-agent/centos/9/\$ basearch/" \
158
161
"gpgcheck=1" "enabled=1" "module_hotfixes=true" >> /etc/yum.repos.d/nginx.repo \
159
- && microdnf --nodocs install -y nginx nginx-module-njs nginx-module-otel nginx-module-image-filter nginx-module-xslt nginx-agent-3.0.* \
162
+ && microdnf --nodocs install -y nginx-${NGINX_OSS_VERSION}* nginx-module-njs-${NGINX_OSS_VERSION}* nginx-module-otel-${NGINX_OSS_VERSION}* nginx-module-image-filter-${NGINX_OSS_VERSION}* nginx-module-xslt-${NGINX_OSS_VERSION}* nginx-agent-3.0.* \
160
163
&& rm /etc/yum.repos.d/nginx.repo \
161
164
&& ubi-clean.sh
162
165
0 commit comments