nginxinc / docker-nginx

Official NGINX Dockerfiles
BSD 2-Clause "Simplified" License
3.21k stars 1.73k forks source link

nginx 1.26.2 build module error #920

Closed labdiynez closed 4 weeks ago

labdiynez commented 4 weeks ago

` => CACHED [builder 2/4] RUN if [ "brotli geoip2 headers-more image-filter njs perl set-misc subs-filter xslt" = "" ]; then echo "No additional modules enabled, exiting"; exit 1; fi 0.0s => [builder 3/4] COPY ./ /modules/ 0.0s => [builder 4/4] RUN apk update && apk add linux-headers openssl-dev pcre2-dev zlib-dev openssl abuild musl-dev libxslt libxml2-utils make mercurial gcc unzip git xz g++ coreutils && printf "#!/bin/sh\nSETFATTR=true /usr/ 18.2s => ERROR [stage-1 2/2] RUN --mount=type=bind,target=/tmp/packages/,source=/tmp/packages/,from=builder . /tmp/packages/modules.env && for module in $BUILT_MODULES; do apk add --no-cache --allow-untrusted /tmp/packages/nginx-module-${module}-1 4.4s


[stage-1 2/2] RUN --mount=type=bind,target=/tmp/packages/,source=/tmp/packages/,from=builder . /tmp/packages/modules.env && for module in $BUILT_MODULES; do apk add --no-cache --allow-untrusted /tmp/packages/nginx-module-${module}-1.26.2.apk; done:
0.145 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz
0.441 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
0.907 ERROR: /tmp/packages/nginx-module-brotli-1.26.2
.apk: No such file or directory
0.965 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 1.053 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 1.336 ERROR: /tmp/packages/nginx-module-geoip2-1.26.2.apk: No such file or directory 1.395 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 1.482 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 1.762 ERROR: /tmp/packages/nginx-module-headers-more-1.26.2.apk: No such file or directory 1.820 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 1.910 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 2.176 ERROR: /tmp/packages/nginx-module-image-filter-1.26.2.apk: No such file or directory 2.235 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 2.321 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 2.580 ERROR: /tmp/packages/nginx-module-njs-1.26.2.apk: No such file or directory 2.637 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 2.726 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 2.997 ERROR: /tmp/packages/nginx-module-perl-1.26.2.apk: No such file or directory 3.059 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 3.159 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 3.426 ERROR: /tmp/packages/nginx-module-set-misc-1.26.2.apk: No such file or directory 3.486 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 3.574 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 3.843 ERROR: /tmp/packages/nginx-module-subs-filter-1.26.2.apk: No such file or directory 3.903 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/x86_64/APKINDEX.tar.gz 3.995 fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz 4.261 ERROR: /tmp/packages/nginx-module-xslt-1.26.2.apk: No such file or directory

1 warning found (use docker --debug to expand):

docker build --build-arg ENABLED_MODULES="brotli geoip2 headers-more image-filter njs perl set-misc subs-filter xslt" --build-arg NGINX_FROM_IMAGE="nginx:1.26.2-alpine3.20-slim" -t test/nginx:1.26.2 . -f Dockerfile.alpine

thresheek commented 4 weeks ago

Hi @labdiynez - it looks like the nginx:1.26.2-alpine3.20-slim image lacks curl so cant fetch the sources.

You might want to try nginx:1.26.2-alpine3.20 instead or a following patch to Dockerfile.alpine:

diff --git a/modules/Dockerfile.alpine b/modules/Dockerfile.alpine
index 4b6b091..f6d39c0 100644
--- a/modules/Dockerfile.alpine
+++ b/modules/Dockerfile.alpine
@@ -15,7 +15,7 @@ COPY ./ /modules/
 RUN apk update \
     && apk add linux-headers openssl-dev pcre2-dev zlib-dev openssl abuild \
                musl-dev libxslt libxml2-utils make mercurial gcc unzip git \
-               xz g++ coreutils \
+               xz g++ coreutils curl \
     # allow abuild as a root user \
     && printf "#!/bin/sh\\nSETFATTR=true /usr/bin/abuild -F \"\$@\"\\n" > /usr/local/bin/abuild \
     && chmod +x /usr/local/bin/abuild \
labdiynez commented 4 weeks ago

Hi @labdiynez - it looks like the nginx:1.26.2-alpine3.20-slim image lacks curl so cant fetch the sources.

You might want to try nginx:1.26.2-alpine3.20 instead or a following patch to Dockerfile.alpine:

diff --git a/modules/Dockerfile.alpine b/modules/Dockerfile.alpine
index 4b6b091..f6d39c0 100644
--- a/modules/Dockerfile.alpine
+++ b/modules/Dockerfile.alpine
@@ -15,7 +15,7 @@ COPY ./ /modules/
 RUN apk update \
     && apk add linux-headers openssl-dev pcre2-dev zlib-dev openssl abuild \
                musl-dev libxslt libxml2-utils make mercurial gcc unzip git \
-               xz g++ coreutils \
+               xz g++ coreutils curl \
     # allow abuild as a root user \
     && printf "#!/bin/sh\\nSETFATTR=true /usr/bin/abuild -F \"\$@\"\\n" > /usr/local/bin/abuild \
     && chmod +x /usr/local/bin/abuild \

Thank you it works.