镜像构建历史
# 2024-12-30 11:00:39 0.00B 指定运行容器时使用的用户
USER 101
# 2024-12-30 11:00:39 48.01MB 执行命令并创建新的镜像层
RUN |2 UID=101 GID=101 /bin/sh -c set -x; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-perl=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="5617feecfb441cd972b9ac51a2fd78384a3d2bde2f399163be0746d44ec8f7d8c47234af4f6b0012667c3d0446cced521f55f8f71254415e3766c2e3802bf960 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in module-perl; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make module-perl ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi # buildkit
# 2024-12-30 11:00:39 0.00B 指定运行容器时使用的用户
USER root
# 2024-12-30 11:00:39 0.00B 定义构建参数
ARG GID=101
# 2024-12-30 11:00:39 0.00B 定义构建参数
ARG UID=101
# 2024-12-30 08:09:32 0.00B 设置默认要执行的命令
CMD ["nginx" "-g" "daemon off;"]
# 2024-12-30 08:09:32 0.00B 指定运行容器时使用的用户
USER 101
# 2024-12-30 08:09:32 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGQUIT
# 2024-12-30 08:09:32 0.00B 声明容器运行时监听的端口
EXPOSE map[8080/tcp:{}]
# 2024-12-30 08:09:32 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
# 2024-12-30 08:09:32 4.62KB 复制新文件或目录到容器中
COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit
# 2024-12-30 08:09:32 3.01KB 复制新文件或目录到容器中
COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit
# 2024-12-30 08:09:32 389.00B 复制新文件或目录到容器中
COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit
# 2024-12-30 08:09:32 2.13KB 复制新文件或目录到容器中
COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit
# 2024-12-30 08:09:32 1.62KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
# 2024-12-30 08:09:32 9.58KB 执行命令并创建新的镜像层
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
# 2024-12-30 08:09:32 116.93MB 执行命令并创建新的镜像层
RUN |2 UID=101 GID=101 /bin/sh -c set -x && groupadd --system --gid $GID nginx || true && useradd --system --gid nginx --no-create-home --home /nonexistent --comment "nginx user" --shell /bin/false --uid $UID nginx || true && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates && NGINX_GPGKEYS="573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 8540A6F18833A80E9C1653A42FD21310B49F6B46 9E9BE90EACBCDE69FE9B204CBCDCD8A38D88A2B3"; NGINX_GPGKEY_PATH=/etc/apt/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME="$(mktemp -d)"; found=''; for NGINX_GPGKEY in $NGINX_GPGKEYS; do for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; gpg1 --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; done; gpg1 --export "$NGINX_GPGKEYS" > "$NGINX_GPGKEY_PATH" ; rm -rf "$GNUPGHOME"; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${DYNPKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${NJS_RELEASE} " && case "$dpkgArch" in amd64|arm64) echo "deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ bookworm nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y curl devscripts equivs git libxml2-utils lsb-release xsltproc && ( cd "$tempDir" && REVISION="${NGINX_VERSION}-${PKG_RELEASE}" && REVISION=${REVISION%~*} && curl -f -L -O https://github.com/nginx/pkg-oss/archive/${REVISION}.tar.gz && PKGOSSCHECKSUM="5617feecfb441cd972b9ac51a2fd78384a3d2bde2f399163be0746d44ec8f7d8c47234af4f6b0012667c3d0446cced521f55f8f71254415e3766c2e3802bf960 *${REVISION}.tar.gz" && if [ "$(openssl sha512 -r ${REVISION}.tar.gz)" = "$PKGOSSCHECKSUM" ]; then echo "pkg-oss tarball checksum verification succeeded!"; else echo "pkg-oss tarball checksum verification failed!"; exit 1; fi && tar xzvf ${REVISION}.tar.gz && cd pkg-oss-${REVISION} && cd debian && for target in base module-geoip module-image-filter module-njs module-xslt; do make rules-$target; mk-build-deps --install --tool="apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes" debuild-$target/nginx-$NGINX_VERSION/debian/control; done && make base module-geoip module-image-filter module-njs module-xslt ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl && apt-get remove --purge --auto-remove -y && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi && ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log && mkdir /docker-entrypoint.d # buildkit
# 2024-12-30 08:09:32 0.00B 定义构建参数
ARG GID=101
# 2024-12-30 08:09:32 0.00B 定义构建参数
ARG UID=101
# 2024-12-30 08:09:32 0.00B 设置环境变量 DYNPKG_RELEASE
ENV DYNPKG_RELEASE=1~bookworm
# 2024-12-30 08:09:32 0.00B 设置环境变量 PKG_RELEASE
ENV PKG_RELEASE=1~bookworm
# 2024-12-30 08:09:32 0.00B 设置环境变量 NJS_RELEASE
ENV NJS_RELEASE=1~bookworm
# 2024-12-30 08:09:32 0.00B 设置环境变量 NJS_VERSION
ENV NJS_VERSION=0.8.7
# 2024-12-30 08:09:32 0.00B 设置环境变量 NGINX_VERSION
ENV NGINX_VERSION=1.27.3
# 2024-12-30 08:09:32 0.00B 添加元数据标签
LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>
# 2024-12-23 08:00:00 74.82MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1734912000'
镜像信息
{
"Id": "sha256:aeb7a0a99891d535d5883bda7f9e6f68fc4d4285a912ce7d30deece66f9ee7a4",
"RepoTags": [
"nginxinc/nginx-unprivileged:perl",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginxinc/nginx-unprivileged:perl"
],
"RepoDigests": [
"nginxinc/nginx-unprivileged@sha256:aec0ddc048c2969b4139d3b21a2d7d9a2bc6723a4c4f8b2b4b943a19afcee55c",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginxinc/nginx-unprivileged@sha256:70859b960c9118f76dd5e6ba9fd57844e33f7eb76f53d92d7655f67b16fb479a"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2024-12-30T03:00:39.789330643Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "101",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.27.3",
"NJS_VERSION=0.8.7",
"NJS_RELEASE=1~bookworm",
"PKG_RELEASE=1~bookworm",
"DYNPKG_RELEASE=1~bookworm"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": [
"/docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e",
"org.opencontainers.image.created": "2024-12-30T03:00:14.736Z",
"org.opencontainers.image.description": "Unprivileged NGINX Dockerfiles",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.revision": "899909ee1a9fd15d6ae19a1197d199b5ba2c2fea",
"org.opencontainers.image.source": "https://github.com/nginxinc/docker-nginx-unprivileged",
"org.opencontainers.image.title": "docker-nginx-unprivileged",
"org.opencontainers.image.url": "https://github.com/nginxinc/docker-nginx-unprivileged",
"org.opencontainers.image.version": "1.27.3-perl"
},
"StopSignal": "SIGQUIT"
},
"Architecture": "amd64",
"Os": "linux",
"Size": 239775759,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/80aa5ec2a90138614a2ec9fd7bb89badba63a2ba61247a8dc3080748b3efbf8b/diff:/var/lib/docker/overlay2/8466fa6dba5b5508c02fac4f3ae6803c3aaf10b50555bd6f2e9fb7429fd4a901/diff:/var/lib/docker/overlay2/d39aeceb083754c9dbd18e49e1869f61163dfc70df7643b50d18df1142b4439a/diff:/var/lib/docker/overlay2/8be56ec38f311546ae5c9897a415ad7cc63a45242a82f1493054294d8f234e0d/diff:/var/lib/docker/overlay2/0a34f67ddde30be8f386a35854d11d78bb9d2b45e584fd065cc22db208c2741f/diff:/var/lib/docker/overlay2/67a708962a9d33e6a352e000a9ffa592499f7f9ccabbcfff0ea3dacae4cecbf3/diff:/var/lib/docker/overlay2/cec29af2a5b31338f82fc07d7a8696f8850fbbff5786d20081789bd98ac3fa95/diff:/var/lib/docker/overlay2/d7da656d9414ae961b292fa109d069e923b341eab550c2db09cb0ab256f4ae70/diff",
"MergedDir": "/var/lib/docker/overlay2/bf1fe3fb6f047b4623d6c82a33d1f436b2e444a5eb41c440e2f2711c91ef0b90/merged",
"UpperDir": "/var/lib/docker/overlay2/bf1fe3fb6f047b4623d6c82a33d1f436b2e444a5eb41c440e2f2711c91ef0b90/diff",
"WorkDir": "/var/lib/docker/overlay2/bf1fe3fb6f047b4623d6c82a33d1f436b2e444a5eb41c440e2f2711c91ef0b90/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:8b296f48696071aafb5a6286ca60d441a7e559b192fc7f94bb63ee93dae98f17",
"sha256:79108652df58075e4db2d04e8347e473843ba4f7edb1c18aa7ae6489fe5b6bc2",
"sha256:f847e8b2f6278cee5810a8ab9efc4cdad7907c29bf075c627e9bb9077dd85b2a",
"sha256:5abc08ba55b9445d5000b0d09e5212ef1b0f82059a3f24ebc526fb998c96b863",
"sha256:ba72fb45bd8e33def39ce9683cb61beb37184c7d1d9d15c9a90837bf69527b07",
"sha256:128a98b9b34f45241204be6b93d9589993115a8f87fbc992acde03ec001e2132",
"sha256:6c786c4cfe062081d6cf9afed20ea3f58913b9eb71b899691c2ef74099760130",
"sha256:dd5c784f896048e2c33d95d80e0a226e3eceabcf9cc8c10f243c2f713bf80f74",
"sha256:2a76722c56a1d1e93d560fab8b5ba77cd0e48e8cfa929cc5da46ff7cc4144ad1"
]
},
"Metadata": {
"LastTagTime": "2024-12-30T23:51:29.908093935+08:00"
}
}