镜像构建历史
# 2026-05-13 00:54:07 272.00B 复制新文件或目录到容器中
COPY docker/nginx/99_default_clusters.sh /docker-entrypoint.d # buildkit
# 2026-05-13 00:54:07 137.00B 复制新文件或目录到容器中
COPY docker/nginx/elasticvue.conf /etc/nginx/conf.d/ # buildkit
# 2026-05-13 00:54:07 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c rm /etc/nginx/conf.d/default.conf # buildkit
# 2026-05-13 00:54:07 0.00B 指定运行容器时使用的用户
USER nginx
# 2026-05-13 00:54:07 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c chown -R nginx:nginx $CONFIG_FILE_DIR # buildkit
# 2026-05-13 00:54:06 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p $CONFIG_FILE_DIR # buildkit
# 2026-05-13 00:54:06 0.00B 指定运行容器时使用的用户
USER root
# 2026-05-13 00:54:06 9.90MB 复制新文件或目录到容器中
COPY /app/dist /usr/share/nginx/html # buildkit
# 2026-05-13 00:54:06 0.00B 设置环境变量 CONFIG_FILE_DIR
ENV CONFIG_FILE_DIR=/usr/share/nginx/html/api
# 2026-05-11 10:31:12 0.00B 指定运行容器时使用的用户
USER 101
# 2026-05-11 10:31:12 40.84MB 执行命令并创建新的镜像层
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=\"7074c3ba1ece708140afd0220b16df77651fbb56cc012e901bc1c4a80531872b7a58ad97a28357646575ce625e94a0540796c045f95d33e40e6d3874ce7b3d79 *${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
# 2026-05-11 10:31:12 0.00B 指定运行容器时使用的用户
USER root
# 2026-05-11 10:31:12 0.00B 定义构建参数
ARG GID=101
# 2026-05-11 10:31:12 0.00B 定义构建参数
ARG UID=101
# 2026-05-11 10:31:12 0.00B 设置环境变量 NJS_RELEASE
ENV NJS_RELEASE=1
# 2026-05-11 10:31:12 0.00B 设置环境变量 NJS_VERSION
ENV NJS_VERSION=0.9.6
# 2026-05-11 08:52:40 0.00B 设置默认要执行的命令
CMD ["nginx" "-g" "daemon off;"]
# 2026-05-11 08:52:40 0.00B 指定运行容器时使用的用户
USER 101
# 2026-05-11 08:52:40 0.00B 设置停止容器时发送的系统调用信号
STOPSIGNAL SIGQUIT
# 2026-05-11 08:52:40 0.00B 声明容器运行时监听的端口
EXPOSE [8080/tcp]
# 2026-05-11 08:52:40 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/docker-entrypoint.sh"]
# 2026-05-11 08:52:40 4.62KB 复制新文件或目录到容器中
COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit
# 2026-05-11 08:52:40 3.01KB 复制新文件或目录到容器中
COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit
# 2026-05-11 08:52:40 389.00B 复制新文件或目录到容器中
COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit
# 2026-05-11 08:52:40 2.13KB 复制新文件或目录到容器中
COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit
# 2026-05-11 08:52:40 1.62KB 复制新文件或目录到容器中
COPY docker-entrypoint.sh / # buildkit
# 2026-05-11 08:52:39 10.65KB 执行命令并创建新的镜像层
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\)\{0\,1\}/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
# 2026-05-11 08:52:39 4.51MB 执行命令并创建新的镜像层
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=\"7074c3ba1ece708140afd0220b16df77651fbb56cc012e901bc1c4a80531872b7a58ad97a28357646575ce625e94a0540796c045f95d33e40e6d3874ce7b3d79 *${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 gettext-envsubst && 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
# 2026-05-11 08:52:39 0.00B 定义构建参数
ARG GID=101
# 2026-05-11 08:52:39 0.00B 定义构建参数
ARG UID=101
# 2026-05-11 08:52:39 0.00B 设置环境变量 DYNPKG_RELEASE
ENV DYNPKG_RELEASE=1
# 2026-05-11 08:52:39 0.00B 设置环境变量 PKG_RELEASE
ENV PKG_RELEASE=1
# 2026-05-11 08:52:39 0.00B 设置环境变量 NGINX_VERSION
ENV NGINX_VERSION=1.29.8
# 2026-05-11 08:52:39 0.00B 添加元数据标签
LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>
# 2026-04-16 04:01:25 0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
# 2026-04-16 04:01:25 8.70MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.4-aarch64.tar.gz / # buildkit
镜像信息
{
"Id": "sha256:e3886c899a2be7004910e945b676a1c7a54f7a5d426402b0fcf7ddffed9faa24",
"RepoTags": [
"cars10/elasticvue:1.15.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cars10/elasticvue:1.15.0-linuxarm64"
],
"RepoDigests": [
"cars10/elasticvue@sha256:efddf4fa0fd84f70f1a19c904a85ed56c98fb60695a99e14c8d9feca8a27082b",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/cars10/elasticvue@sha256:13065519f960d99c13cbcec75e796c44d43fecc6bb2f5a9443c326bfa4aefebb"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-05-12T16:54:07.109560427Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "nginx",
"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.29.8",
"PKG_RELEASE=1",
"DYNPKG_RELEASE=1",
"NJS_VERSION=0.9.6",
"NJS_RELEASE=1",
"CONFIG_FILE_DIR=/usr/share/nginx/html/api"
],
"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": "2026-05-11T02:30:43.384Z",
"org.opencontainers.image.description": "Unprivileged NGINX Dockerfiles",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.revision": "c4edb2fc1a693a7bdae4ab2bbc1c7fe63622290f",
"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.29.8-alpine"
},
"StopSignal": "SIGQUIT"
},
"Architecture": "arm64",
"Os": "linux",
"Size": 63969079,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/2b7500d7d2e24c7a427be63b7cf5e5abbd17cf905dee1d632ad033fa455bf549/diff:/var/lib/docker/overlay2/4080a8b55408b4b262b8bbb040312652e191071d6b33cee5af8e073b96372d0d/diff:/var/lib/docker/overlay2/728cb1f07a273f7cdec3866416437d04f55127af325e2b8c6105127c1d136fa3/diff:/var/lib/docker/overlay2/5d5509c55153574703952b5eacf8db59309ec3d71391b66fc11011518468d7d4/diff:/var/lib/docker/overlay2/9d3579b8959c94cce5e31ba02206c25787b06b58ede26c79eb2353cdaf5a21f2/diff:/var/lib/docker/overlay2/76f2d79fa3e723759dacfa70407e06584ad5b0b2b1128be104564145291614c9/diff:/var/lib/docker/overlay2/bad2d4cbc99846b64f4747c3c98ed4ff3303fba3bdd06efd272158b2f7fdf331/diff:/var/lib/docker/overlay2/010126d97a652c1d64b8e64c51201c69494c21ef8af20faa6c2617cae8aea971/diff:/var/lib/docker/overlay2/9c13e50d244e3631b5a126a3e3b52299fb1c35e1bb15c05ab3445ebc79d43064/diff:/var/lib/docker/overlay2/96502ab2c3928d584dd0f011e505a3195129498d20e915b238c6f2f95a12bbbe/diff:/var/lib/docker/overlay2/ec57830fd54a39637cab5ad38c29bc64e4ec7fd014e076c216aa703cdec9e37f/diff:/var/lib/docker/overlay2/b109e9ec6203f98e039d39bb6055a4b4c950812a58aff349ea1e2b97e41bfdb8/diff:/var/lib/docker/overlay2/29acf9b67018e5eeafa6840fb9d28001924bba4b683ce484d290b9f0786b7171/diff:/var/lib/docker/overlay2/b073e759cced660269bfc777636d2d3c7eb69aec93323f7820f368e7eb97f0d0/diff",
"MergedDir": "/var/lib/docker/overlay2/3c2dbff1302bf303b5ff2addf206992801dffef742c39f430a034f42552105d5/merged",
"UpperDir": "/var/lib/docker/overlay2/3c2dbff1302bf303b5ff2addf206992801dffef742c39f430a034f42552105d5/diff",
"WorkDir": "/var/lib/docker/overlay2/3c2dbff1302bf303b5ff2addf206992801dffef742c39f430a034f42552105d5/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:a8d26d037006414043b277ecb95287692d0960219289d9e27b0bcea0ce233b02",
"sha256:537e84309605bc13211ddbf083cd24d45e6d8bfb0074354d0c299dd77c657588",
"sha256:9dfb832cacf3a10805da5d01a029471c7b765833f6211bdcb208477202f431b3",
"sha256:70c5236ec63b66f7465d624b6ad7ff99d90f121d88ec9e024c41d4098ebdbf64",
"sha256:ad9b256ccd2cee7e9866f0944f93e760ae95e1a11499488a6033305c7184e73b",
"sha256:6e73e66d105b4c5fcddedd6eb85aace732f7c4d565ca1671fa2806b0d0d35782",
"sha256:6fda136bf56b1d1bc2eb4abe2d6b4eda04452b967c87de5856457191d2ec214b",
"sha256:78d86ed639800a830f609ba15a61ef64d3e1595e5eb201ae6200f534d77f9c50",
"sha256:7ad54686032fc7b12e7f0cbfc511f12504264f02491cb2f72bdba838c7a6407d",
"sha256:c9955dfcdc262140139b9fe8d51077e37e46bc2cd316e40d05634ebfae5667cb",
"sha256:aa3c81202b6b3ed65aff0a64d1072278d11e19a63cd37d50bf43b45bb33f13f1",
"sha256:50f41177675a5f2e726034f98e65df630bdf4a6148c358848f089c8222315f92",
"sha256:0952894bb7e5044bb1d6247118223e83638ba8593c2ab3ab8fd4a4a676990127",
"sha256:0571a8072a8b6eefb7eabe350f6285ff626faf70b021f3499abdfde2d77d96bf",
"sha256:e66f142d5abbc82d3ef0cce6155f2011555aed2cfb03074bab6747c5134cd49b"
]
},
"Metadata": {
"LastTagTime": "2026-06-03T09:09:55.715248211+08:00"
}
}