Namespace
nginxinc
Image / Tag
nginx-unprivileged:1.27.4-alpine-perl
Content Digest
sha256:c090c2f38956934e07c1d30f8f28717910be3f33f1c496edfab152ffa0bc7586
Details
Created

2025-04-21 03:58:33 UTC

Size

27.9 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:69aa61ccf55e5bf8e7a069b89e8afb42b4f3443b3785868795af8046d810d608 - 11.84% (3.3 MB)

[#001] sha256:a929eb49cbf377380d0fb7038c87d2b8ff6a4d798ebbd4cba2ae1d2510ff9b64 - 6.36% (1.77 MB)

[#002] sha256:7ede49fec2183b3f74dc15ffbc04a671854ac5e65605e67dfb66297533cb10c1 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:1509b14a01fef8c49e4c6f75170643a3e71385a6d7ee7b372f7417cec109b627 - 0.0% (957 Bytes)

[#005] sha256:8cd3e0eaf760add09471d477ad1f606854f7be0d833655f7d610ddef4f21d3e6 - 0.0% (404 Bytes)

[#006] sha256:3c677d4aa7c7836da504d2a18ed0098a1e3d72eaf6787bb97a01ac99b572612b - 0.0% (1.17 KB)

[#007] sha256:4f666e33bc895ba973411c1b54025618e12bcdb8ee2576268f1c645eccc50b5f - 0.0% (1.36 KB)

[#008] sha256:64c2635fd59c6a9739db171173ea5615d45596a00f1b79c97ff7ae9f8514a28b - 49.75% (13.9 MB)

[#009] sha256:dd538ad532a3c83b6e7cdf372693c3baea0fd55ab2918a2fa5d87b962f772bde - 32.02% (8.93 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-x86.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 00:32:17 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 00:32:18 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 02:11:40 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 03:58:33 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:58:33 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:58:33 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:58:33 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 03:58:33 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 03:57:27 UTC

Size

29.2 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:f18232174bc91741fdf3da96d85011092101a032a93a388b79e99e69c2d5c870 - 11.89% (3.47 MB)

[#001] sha256:338f368b525c46579c28bc43684f791479fa096565a68bf2f2e99c8e02a5d4dc - 5.84% (1.71 MB)

[#002] sha256:66f3217888c329c781830b0e98389e9cac11a8639d4f5c13a5c6ee5065b28094 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:476feb98be5aa75f1ecfbd3f8fd1f4a2217f754673320066003eead7c183b6c8 - 0.0% (955 Bytes)

[#005] sha256:8dc0bf2f87ed2d01101bfcc68a4f43d1e6c834240151dab0b8485571a394ba6d - 0.0% (403 Bytes)

[#006] sha256:754fe11f5b9709f6bbab54c993efb7af6fcad3ec30a4ee808a9cbcdb3c4a424a - 0.0% (1.17 KB)

[#007] sha256:0d0e99a311992cd8e2ea36a2671e3929cbcf561dd7454a742d5fab8846f06169 - 0.0% (1.36 KB)

[#008] sha256:65a1e323309b7e84b76e492b37926eb8f889c82cafe1bc5b5b8a297b7be4b4d8 - 50.18% (14.7 MB)

[#009] sha256:a5e535380e3c4e38af7a1faf111bcf45fa3f7834cbe1d239837dcb855db8f201 - 32.06% (9.37 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-x86_64.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 00:25:31 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 02:02:32 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 03:57:27 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:57:27 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:57:27 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:57:27 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 03:57:27 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 04:09:26 UTC

Size

26.1 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:76099982f06682e28a60c3b774ef20931d07b0a2f551203484e633d8c0361ee7 - 12.3% (3.21 MB)

[#001] sha256:9c07db756da13635ac2345d5292854219c9a8e1c68a12784f4744b3ca72ba75d - 6.53% (1.7 MB)

[#002] sha256:ea7675a1236144bf8f7bc30317c31b32c81f307ea6ba5bb893cb8cc8e7b1b224 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:02adc133d613c31c49406c70a235ce18fec2b6bd6bb32c346337f9eba4e470c9 - 0.0% (959 Bytes)

[#005] sha256:7949531927ab5c833a3570883919360f49c0f18f6090d2f3cc1e05fdb45c739d - 0.0% (407 Bytes)

[#006] sha256:1b03003e9f13dc21882870381ad5d3a21d1869b56b251d0ba92755afe9ff20b6 - 0.0% (1.18 KB)

[#007] sha256:0d68b439216933b8a3b30a71f678e65e7d11975e42610e8463e57a2cb3feb8c2 - 0.01% (1.37 KB)

[#008] sha256:1a08149e590047037564a12e434e71ca4c460888baba388ceea0a9c71bc9dfd1 - 48.05% (12.5 MB)

[#009] sha256:80b5f6285f1a59cdee32909cee62f7d107d1753da46352b1f87506ea9a3ae0b2 - 33.09% (8.63 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-armhf.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 01:54:03 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 03:50:47 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 04:09:26 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 04:09:26 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 04:09:26 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 04:09:26 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 04:09:26 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 04:09:38 UTC

Size

25.9 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:85f3b18f9f5a8655db86c6dfb02bb01011ffef63d10a173843c5c65c3e9137b7 - 11.42% (2.95 MB)

[#001] sha256:dc67444efb659dbf960bb5ddea19962ef16c6b3c87f74543d5308d0408901260 - 5.97% (1.55 MB)

[#002] sha256:9008968992dc5f500e233424bac082680d06e9c28aecc10b6602f2daf283c660 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:ad3eceda29708c33cb5d673b022339109d722ac2383668fb23cecd347dd2803c - 0.0% (959 Bytes)

[#005] sha256:210b0773758d65c85b1e0088a9d941ae32869aef6ba268033c2851eba4b6c07f - 0.0% (406 Bytes)

[#006] sha256:30fb3e5ee279499a7371fcbeddad5c1892726062c83cad3b29c56c79614fdafa - 0.0% (1.18 KB)

[#007] sha256:b637792ae2f7f2d01676bda7abb281f34bbd3910846714126ca82b3777ce05ba - 0.01% (1.37 KB)

[#008] sha256:cf4e7c5914de0f0b0f77a55eb17552fdeaee2bfc6d570bccf8cff60cfedbd5a5 - 49.85% (12.9 MB)

[#009] sha256:2e834cd6645b254c959c1c96ba84bf6949c01207d3e926df7de9a6c97633281e - 32.73% (8.47 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-armv7.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 01:54:24 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 03:51:48 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 04:09:38 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 04:09:38 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 04:09:38 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 04:09:38 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 04:09:38 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 03:57:37 UTC

Size

30 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:6e771e15690e2fabf2332d3a3b744495411d6e0b00b2aea64419b58b0066cf81 - 12.7% (3.81 MB)

[#001] sha256:72e6fe159cb58b307c7d87aaba8510e05ee9cddc51c1462e4fd702dc2020350c - 5.67% (1.7 MB)

[#002] sha256:6a0fc6b4b85721cb729ad19a44041f382461c59224f13f33bcaeb6534cd3a7a6 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:8f2befe1c6e8f5a2341d7f38c70ab5a6af00e60923361c3e831244c95eb1a1e8 - 0.0% (955 Bytes)

[#005] sha256:10570dcaf2676aac6e74de399c4089028c33451f25125b0be46d56b46a03a5a6 - 0.0% (403 Bytes)

[#006] sha256:7aa04ff6c52b01c76b972cc9aa7a387c75173efe70160cac059e53d57a2fc743 - 0.0% (1.17 KB)

[#007] sha256:844ffbafd89f4bb308096a6d40dc747cc2a5d806050fcd5efa9f43cf4d9f1bf9 - 0.0% (1.36 KB)

[#008] sha256:9cfbb7992dc758e14eec93210ce8375acf8d3489210564bf25a19b7d5687ba5e - 50.5% (15.1 MB)

[#009] sha256:a292387a7ae73fe814127c252ea91bbd3e1a7f9bbe04c73e67425fba86c5a8f6 - 31.11% (9.33 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-aarch64.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 00:25:59 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 00:26:00 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 02:02:52 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 03:57:37 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:57:37 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:57:37 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:57:37 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 03:57:37 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 04:09:46 UTC

Size

29.9 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:184b14480d317057da092a0994ad6baf4b2df588108f43969f8fd56f021af2c6 - 11.38% (3.41 MB)

[#001] sha256:06da18218ef37ee473ffdce7f5d81d8a17a5e276dbb907f02e36ded2c31df3d7 - 5.91% (1.77 MB)

[#002] sha256:9cdb927751c5c25d7b7b777e1bbf6af8a749e69205bde98d76382356c67c4217 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:b971b505b6b2df0cb0c92f43fd175e157b539aefb2d37ff5439dc404c5bcb235 - 0.0% (958 Bytes)

[#005] sha256:4417ba375b46c5b5310fccb6e340bbd9f9801aa5354fb69db42690a0b14a1e48 - 0.0% (407 Bytes)

[#006] sha256:59786588533ac99d3ee2c8826915afd95316e7adf46e4c57f0ead589bb88479b - 0.0% (1.18 KB)

[#007] sha256:e261a80748ad36e43dfa03bbd24b66fb1270ca24d02ea7f2fb5ce22962e4a427 - 0.0% (1.37 KB)

[#008] sha256:5faffcc37a392f078c603f2e4a508ccde1ed51e11231a65b7aecb20a109a5a74 - 50.8% (15.2 MB)

[#009] sha256:e59abf7b14312303d3e1e0f1428d4aa31d3f9c1686083e2320ad7d8d64643e24 - 31.89% (9.55 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-ppc64le.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 01:51:26 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 01:51:27 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 03:47:54 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 04:09:46 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 04:09:46 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 04:09:46 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 04:09:46 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 04:09:46 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 04:09:47 UTC

Size

27.1 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:7df33f7ad8beb367ac09bdd1b2f220db3ee2bbdda14a6310d1340e5628b5ba88 - 11.77% (3.2 MB)

[#001] sha256:622b6c4873b6be830c8ba62765216b81c38b509032522d396351f193da892969 - 6.42% (1.74 MB)

[#002] sha256:28e3f8e7ace56d8a8435e2c5837381183a092f8ddb863e2b383c13987b511927 - 0.01% (2.74 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:4208cda9928b1a79e189c155cd972cb28045d31b3e9e7ccfd4864e876767cadc - 0.0% (960 Bytes)

[#005] sha256:ef0fd2bbf22a4dd8cde391e4654e771119103478d9d002a3e0b55ae42fae9ca1 - 0.0% (406 Bytes)

[#006] sha256:6b2ea11014c97b5e0c7f5cc7fa1b6be8101f8a967ee17bdce5d9f63cf4adaddf - 0.0% (1.18 KB)

[#007] sha256:10d8a4c2a57109c42bf2d63c7a775fc45a14b8bd52df5c25f94e1e90bd0ab3ec - 0.0% (1.37 KB)

[#008] sha256:580a72f8f5902aadc7b75c5728bfac8f28cc8847b945c9ceb562d672157ec585 - 49.22% (13.4 MB)

[#009] sha256:05d4691ed69e41a22eb6633e6023e22c0a2756498bcda2750b95e8c6e77cfc07 - 32.56% (8.84 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-riscv64.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 01:51:22 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 01:51:23 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 03:51:53 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 04:09:47 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 04:09:47 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 04:09:47 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 04:09:47 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 04:09:47 UTC (buildkit.dockerfile.v0)

USER 101

Details
Created

2025-04-21 04:09:31 UTC

Size

30.4 MB

Content Digest
Labels
  • maintainer
    NGINX Docker Maintainers <docker-maint@nginx.com>
  • org.opencontainers.image.created
    2025-04-21T03:57:17.262Z
  • org.opencontainers.image.description
    Unprivileged NGINX Dockerfiles
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    8ead5cede31b9dc5a976d1b44bb1987226b48677
  • org.opencontainers.image.source
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.title
    docker-nginx-unprivileged
  • org.opencontainers.image.url
    https://github.com/nginx/docker-nginx-unprivileged
  • org.opencontainers.image.version
    1.27.4-alpine-perl

Environment
DYNPKG_RELEASE

1

NGINX_VERSION

1.27.4

NJS_RELEASE

1

NJS_VERSION

0.8.9

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PKG_RELEASE

1


Layers

[#000] sha256:c1a599607158512214777614f916f8193d29fd34b656d47dfc26314af01e2af4 - 10.89% (3.31 MB)

[#001] sha256:ad3c04e7df4af2ba2c9a6dc1e691d1df48e08cf995540503901e1837a62cacc6 - 5.93% (1.8 MB)

[#002] sha256:dd3593d5908d36e8ef794fbea393eccd051e7cfbcb78ebe7ccf6d2ce5a3bfe74 - 0.01% (2.73 KB)

[#003] sha256:58b3cef9cb63d3d8a016a3dd9c0d3e84eface8f35cb94a8c6f70c5ea954823c7 - 0.0% (628 Bytes)

[#004] sha256:f424119718080df02f3e663fceaf614d8689c91fde4b711eb7b41be9675369d2 - 0.0% (960 Bytes)

[#005] sha256:77661c6398b1232e3d12a9363e3abdc2c8053741e5aaf3176ceb559b54ad4006 - 0.0% (407 Bytes)

[#006] sha256:57a8bd8a55e82034cdfca925396ab0209c11cf55840968d6027c4afbf6ea20d9 - 0.0% (1.18 KB)

[#007] sha256:1df4f299a1d2ed7acad79868598cd9e917547b739eccd7fa8dbcd735b50c16c8 - 0.0% (1.37 KB)

[#008] sha256:a23583cd1b9caf96ef1ee320bd1c2be42c0c65293e17765d324be5e9ed88fbc7 - 50.58% (15.4 MB)

[#009] sha256:ec6e3992cb2e0fb7cc9d7154eca64431d96630ba387882753660a6d5229247f0 - 32.58% (9.89 MB)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-s390x.tar.gz / # buildkit

2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

ENV NGINX_VERSION=1.27.4

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

ENV PKG_RELEASE=1

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

ENV DYNPKG_RELEASE=1

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 01:54:44 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && addgroup -g $GID -S nginx || true && adduser -S -D -H -u $UID -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx || true && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) set -x && KEY_SHA512="e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655" && wget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && if echo "$KEY_SHA512 */tmp/nginx_signing.rsa.pub" | sha512sum -c -; then echo "key verification succeeded!"; mv /tmp/nginx_signing.rsa.pub /etc/apk/keys/; else echo "key verification failed!"; exit 1; fi && apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make base && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache --virtual .gettext gettext && mv /usr/bin/envsubst /tmp/ && runDeps="$( scanelf --needed --nobanner /tmp/envsubst | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' | sort -u | xargs -r apk info --installed | sort -u )" && apk add --no-cache $runDeps && apk del --no-network .gettext && mv /tmp/envsubst /usr/local/bin/ && apk add --no-cache tzdata && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c sed -i 's,listen 80;,listen 8080;,' /etc/nginx/conf.d/default.conf && sed -i '/user nginx;/d' /etc/nginx/nginx.conf && sed -i 's,/var/run/nginx.pid,/tmp/nginx.pid,' /etc/nginx/nginx.conf && sed -i "/^http {/a \ proxy_temp_path /tmp/proxy_temp;\n client_body_temp_path /tmp/client_temp;\n fastcgi_temp_path /tmp/fastcgi_temp;\n uwsgi_temp_path /tmp/uwsgi_temp;\n scgi_temp_path /tmp/scgi_temp;\n" /etc/nginx/nginx.conf && chown -R $UID:0 /var/cache/nginx && chmod -R g+w /var/cache/nginx && chown -R $UID:0 /etc/nginx && chmod -R g+w /etc/nginx # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh / # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/docker-entrypoint.sh"]

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

EXPOSE map[8080/tcp:{}]

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGQUIT

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 01:54:45 UTC (buildkit.dockerfile.v0)

CMD ["nginx" "-g" "daemon off;"]

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

ENV NJS_VERSION=0.8.9

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

ENV NJS_RELEASE=1

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libedit-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-geoip module-image-filter module-njs module-xslt && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && apk add --no-cache curl ca-certificates # buildkit

2025-04-21 03:51:02 UTC (buildkit.dockerfile.v0)

USER 101

2025-04-21 04:09:31 UTC (buildkit.dockerfile.v0)

ARG UID=101

2025-04-21 04:09:31 UTC (buildkit.dockerfile.v0)

ARG GID=101

2025-04-21 04:09:31 UTC (buildkit.dockerfile.v0)

USER root

2025-04-21 04:09:31 UTC (buildkit.dockerfile.v0)

RUN |2 UID=101 GID=101 /bin/sh -c set -x && apkArch="$(cat /etc/apk/arch)" && nginxPackages=" nginx=${NGINX_VERSION}-r${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-r${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}.${NJS_VERSION}-r${NJS_RELEASE} " && apk add --no-cache --virtual .checksum-deps openssl && case "$apkArch" in x86_64|aarch64) apk add -X "https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\.[0-9]+' /etc/alpine-release)/main" --no-cache $nginxPackages ;; *) set -x && tempDir="$(mktemp -d)" && chown nobody:nobody $tempDir && apk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers perl-dev bash alpine-sdk findutils curl && su nobody -s /bin/sh -c " export HOME=${tempDir} && cd ${tempDir} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && PKGOSSCHECKSUM=\"973690e64fa47e3704e817a3b08205b9e3f8c0cbe31825d9d62a81c11eb3aa186df015f27fdfd48c8799ffc528e38a9168c592ae665e4835c2d28638ec5f7845 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\" && if [ \"\$(openssl sha512 -r ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz)\" = \"\$PKGOSSCHECKSUM\" ]; then echo \"pkg-oss tarball checksum verification succeeded!\"; else echo \"pkg-oss tarball checksum verification failed!\"; exit 1; fi && tar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && cd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && cd alpine && make module-perl && apk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && abuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz " && cp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && apk del --no-network .build-deps && apk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && apk del --no-network .checksum-deps && if [ -n "$tempDir" ]; then rm -rf "$tempDir"; fi && if [ -f "/etc/apk/keys/abuild-key.rsa.pub" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi # buildkit

2025-04-21 04:09:31 UTC (buildkit.dockerfile.v0)

USER 101

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete