557 lines
30 KiB
JSON
557 lines
30 KiB
JSON
{
|
|
"document": "doc.report.command",
|
|
"version": "ov/command/slim/1.1",
|
|
"engine": "linux/amd64|ALP|x.1.42.2|29e62e7836de7b1004607c51c502537ffe1969f0|2025-01-16_07:48:54AM|x",
|
|
"containerized": false,
|
|
"host_distro": {
|
|
"name": "Pop!_OS",
|
|
"version": "22.04",
|
|
"display_name": "Pop!_OS 22.04 LTS"
|
|
},
|
|
"type": "slim",
|
|
"state": "done",
|
|
"target_reference": "react",
|
|
"system": {
|
|
"type": "Linux",
|
|
"release": "6.12.10-76061203-generic",
|
|
"distro": {
|
|
"name": "Alpine Linux",
|
|
"version": "3.21.3",
|
|
"display_name": "Alpine Linux v3.21"
|
|
}
|
|
},
|
|
"source_image": {
|
|
"identity": {
|
|
"id": "sha256:12e558bf38a2d45aeb557f872b631745db21f836ef3477aa191260af5cbb49c3",
|
|
"tags": [
|
|
"latest"
|
|
],
|
|
"names": [
|
|
"react:latest"
|
|
]
|
|
},
|
|
"size": 48561999,
|
|
"size_human": "49 MB",
|
|
"create_time": "2025-06-08T15:25:03Z",
|
|
"runtime_name": "docker",
|
|
"architecture": "amd64",
|
|
"exposed_ports": [
|
|
"80/tcp"
|
|
],
|
|
"os": "linux",
|
|
"labels": {
|
|
"maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
|
|
},
|
|
"env_vars": [
|
|
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
|
|
"NGINX_VERSION=1.27.5",
|
|
"PKG_RELEASE=1",
|
|
"DYNPKG_RELEASE=1",
|
|
"NJS_VERSION=0.8.10",
|
|
"NJS_RELEASE=1"
|
|
],
|
|
"container_entry": {
|
|
"exe_path": ""
|
|
}
|
|
},
|
|
"minified_image_size": 9540708,
|
|
"minified_image_size_human": "9.5 MB",
|
|
"minified_image": "react:slim",
|
|
"minified_image_id": "sha256:83d848d51846cf917891131b875372b7ee75d97f80bd726d6f45e2869c94791f",
|
|
"minified_image_digest": "sha256:bdcf8a99c0c92bde711e50642d94c852d541b633317ed9045b5a6b5eedf1360d",
|
|
"minified_image_has_data": true,
|
|
"minified_by": 5.089978542472949,
|
|
"artifact_location": "/tmp/mint-state/.mint-state/images/12e558bf38a2d45aeb557f872b631745db21f836ef3477aa191260af5cbb49c3/artifacts",
|
|
"container_report_name": "creport.json",
|
|
"seccomp_profile_name": "react-seccomp.json",
|
|
"apparmor_profile_name": "react-apparmor-profile",
|
|
"image_stack": [
|
|
{
|
|
"is_top_image": true,
|
|
"id": "sha256:12e558bf38a2d45aeb557f872b631745db21f836ef3477aa191260af5cbb49c3",
|
|
"full_name": "react:latest",
|
|
"repo_name": "react",
|
|
"version_tag": "latest",
|
|
"raw_tags": [
|
|
"react:latest"
|
|
],
|
|
"create_time": "2025-06-08T15:25:03Z",
|
|
"new_size": 48561999,
|
|
"new_size_human": "49 MB",
|
|
"instructions": [
|
|
{
|
|
"type": "ADD",
|
|
"time": "2025-02-14T03:28:36Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 7834312,
|
|
"size_human": "7.8 MB",
|
|
"params": "alpine-minirootfs-3.21.3-x86_64.tar.gz /",
|
|
"command_snippet": "ADD alpine-minirootfs-3.21.3-x86_64.tar.gz /",
|
|
"command_all": "ADD alpine-minirootfs-3.21.3-x86_64.tar.gz /",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-02-13T22:15:00-05:00",
|
|
"inst_set_time_index": 0,
|
|
"inst_set_time_reverse_index": 2
|
|
},
|
|
{
|
|
"type": "CMD",
|
|
"time": "2025-02-14T03:28:36Z",
|
|
"is_nop": false,
|
|
"is_exec_form": true,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "[\"/bin/sh\"]\n",
|
|
"command_snippet": "CMD [\"/bin/sh\"]\n",
|
|
"command_all": "CMD [\"/bin/sh\"]\n",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-02-13T22:15:00-05:00",
|
|
"inst_set_time_index": 0,
|
|
"inst_set_time_reverse_index": 2
|
|
},
|
|
{
|
|
"type": "LABEL",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>",
|
|
"command_snippet": "LABEL maintainer=NGINX Docker Maintainers <d...",
|
|
"command_all": "LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com>",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "ENV",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "NGINX_VERSION=1.27.5",
|
|
"command_snippet": "ENV NGINX_VERSION=1.27.5",
|
|
"command_all": "ENV NGINX_VERSION=1.27.5",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "ENV",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "PKG_RELEASE=1",
|
|
"command_snippet": "ENV PKG_RELEASE=1",
|
|
"command_all": "ENV PKG_RELEASE=1",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "ENV",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "DYNPKG_RELEASE=1",
|
|
"command_snippet": "ENV DYNPKG_RELEASE=1",
|
|
"command_all": "ENV DYNPKG_RELEASE=1",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "RUN",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 4051586,
|
|
"size_human": "4.1 MB",
|
|
"command_snippet": "RUN set -x && \\\n\taddgroup -g 101 -S nginx &&...",
|
|
"command_all": "RUN set -x && \\\n\taddgroup -g 101 -S nginx && \\\n\tadduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx && \\\n\tapkArch=\"$(cat /etc/apk/arch)\" && \\\n\tnginxPackages=\" nginx=${NGINX_VERSION}-r${PKG_RELEASE} \" && \\\n\tapk add --no-cache --virtual .checksum-deps openssl && \\\n\tcase \"$apkArch\" in x86_64|aarch64) set -x && \\\n\tKEY_SHA512=\"e09fa32f0a0eab2b879ccbbc4d0e4fb9751486eedda75e35fac65802cc9faa266425edf83e261137a2f4d16281ce2c1a5f4502930fe75154723da014214f0655\" && \\\n\twget -O /tmp/nginx_signing.rsa.pub https://nginx.org/keys/nginx_signing.rsa.pub && \\\n\tif 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 && \\\n\tapk add -X \"https://nginx.org/packages/mainline/alpine/v$(egrep -o '^[0-9]+\\.[0-9]+' /etc/alpine-release)/main\" --no-cache $nginxPackages ;; *) set -x && \\\n\ttempDir=\"$(mktemp -d)\" && \\\n\tchown nobody:nobody $tempDir && \\\n\tapk add --no-cache --virtual .build-deps gcc libc-dev make openssl-dev pcre2-dev zlib-dev linux-headers bash alpine-sdk findutils curl && \\\n\tsu nobody -s /bin/sh -c \" export HOME=${tempDir} && \\\n\tcd ${tempDir} && \\\n\tcurl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && \\\n\tPKGOSSCHECKSUM=\\\"c773d98b567bd585c17f55702bf3e4c7d82b676bfbde395270e90a704dca3c758dfe0380b3f01770542b4fd9bed1f1149af4ce28bfc54a27a96df6b700ac1745 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\\\" && \\\n\tif [ \\\"\\$(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 && \\\n\ttar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && \\\n\tcd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && \\\n\tcd alpine && \\\n\tmake base && \\\n\tapk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && \\\n\tabuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz \" && \\\n\tcp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && \\\n\tapk del --no-network .build-deps && \\\n\tapk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && \\\n\tapk del --no-network .checksum-deps && \\\n\tif [ -n \"$tempDir\" ]; then rm -rf \"$tempDir\"; fi && \\\n\tif [ -f \"/etc/apk/keys/abuild-key.rsa.pub\" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && \\\n\tapk add --no-cache gettext-envsubst && \\\n\tapk add --no-cache tzdata && \\\n\tln -sf /dev/stdout /var/log/nginx/access.log && \\\n\tln -sf /dev/stderr /var/log/nginx/error.log && \\\n\tmkdir /docker-entrypoint.d",
|
|
"system_commands": [
|
|
"set -x",
|
|
"addgroup -g 101 -S nginx",
|
|
"adduser -S -D -H -u 101 -h /var/cache/nginx -s /sbin/nologin -G nginx -g nginx nginx",
|
|
"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=\"c773d98b567bd585c17f55702bf3e4c7d82b676bfbde395270e90a704dca3c758dfe0380b3f01770542b4fd9bed1f1149af4ce28bfc54a27a96df6b700ac1745 *${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"
|
|
],
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "COPY",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 1620,
|
|
"size_human": "1.6 kB",
|
|
"params": "docker-entrypoint.sh /",
|
|
"command_snippet": "COPY docker-entrypoint.sh /",
|
|
"command_all": "COPY docker-entrypoint.sh /",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "COPY",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 2125,
|
|
"size_human": "2.1 kB",
|
|
"params": "10-listen-on-ipv6-by-default.sh /docker-entrypoint.d",
|
|
"command_snippet": "COPY 10-listen-on-ipv6-by-default.sh /docker...",
|
|
"command_all": "COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "COPY",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 389,
|
|
"size_human": "389 B",
|
|
"params": "15-local-resolvers.envsh /docker-entrypoint.d",
|
|
"command_snippet": "COPY 15-local-resolvers.envsh /docker-entryp...",
|
|
"command_all": "COPY 15-local-resolvers.envsh /docker-entrypoint.d",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "COPY",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 3018,
|
|
"size_human": "3.0 kB",
|
|
"params": "20-envsubst-on-templates.sh /docker-entrypoint.d",
|
|
"command_snippet": "COPY 20-envsubst-on-templates.sh /docker-ent...",
|
|
"command_all": "COPY 20-envsubst-on-templates.sh /docker-entrypoint.d",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "COPY",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 4619,
|
|
"size_human": "4.6 kB",
|
|
"params": "30-tune-worker-processes.sh /docker-entrypoint.d",
|
|
"command_snippet": "COPY 30-tune-worker-processes.sh /docker-ent...",
|
|
"command_all": "COPY 30-tune-worker-processes.sh /docker-entrypoint.d",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "ENTRYPOINT",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"is_exec_form": true,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "[\"/docker-entrypoint.sh\"]\n",
|
|
"command_snippet": "ENTRYPOINT [\"/docker-entrypoint.sh\"]\n",
|
|
"command_all": "ENTRYPOINT [\"/docker-entrypoint.sh\"]\n",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "EXPOSE",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "80/tcp",
|
|
"command_snippet": "EXPOSE 80/tcp",
|
|
"command_all": "EXPOSE 80/tcp",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "STOPSIGNAL",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "SIGQUIT",
|
|
"command_snippet": "STOPSIGNAL SIGQUIT",
|
|
"command_all": "STOPSIGNAL SIGQUIT",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "CMD",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"is_exec_form": true,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "[\"nginx\",\"-g\",\"daemon off;\"]\n",
|
|
"command_snippet": "CMD [\"nginx\",\"-g\",\"daemon off;\"]\n",
|
|
"command_all": "CMD [\"nginx\",\"-g\",\"daemon off;\"]\n",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "ENV",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "NJS_VERSION=0.8.10",
|
|
"command_snippet": "ENV NJS_VERSION=0.8.10",
|
|
"command_all": "ENV NJS_VERSION=0.8.10",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "ENV",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "NJS_RELEASE=1",
|
|
"command_snippet": "ENV NJS_RELEASE=1",
|
|
"command_all": "ENV NJS_RELEASE=1",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "RUN",
|
|
"time": "2025-04-16T14:50:31Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 36341673,
|
|
"size_human": "36 MB",
|
|
"command_snippet": "RUN set -x && \\\n\tapkArch=\"$(cat /etc/apk/arc...",
|
|
"command_all": "RUN set -x && \\\n\tapkArch=\"$(cat /etc/apk/arch)\" && \\\n\tnginxPackages=\" 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} \" && \\\n\tapk add --no-cache --virtual .checksum-deps openssl && \\\n\tcase \"$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 && \\\n\ttempDir=\"$(mktemp -d)\" && \\\n\tchown nobody:nobody $tempDir && \\\n\tapk 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 && \\\n\tsu nobody -s /bin/sh -c \" export HOME=${tempDir} && \\\n\tcd ${tempDir} && \\\n\tcurl -f -L -O https://github.com/nginx/pkg-oss/archive/${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && \\\n\tPKGOSSCHECKSUM=\\\"c773d98b567bd585c17f55702bf3e4c7d82b676bfbde395270e90a704dca3c758dfe0380b3f01770542b4fd9bed1f1149af4ce28bfc54a27a96df6b700ac1745 *${NGINX_VERSION}-${PKG_RELEASE}.tar.gz\\\" && \\\n\tif [ \\\"\\$(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 && \\\n\ttar xzvf ${NGINX_VERSION}-${PKG_RELEASE}.tar.gz && \\\n\tcd pkg-oss-${NGINX_VERSION}-${PKG_RELEASE} && \\\n\tcd alpine && \\\n\tmake module-geoip module-image-filter module-njs module-xslt && \\\n\tapk index --allow-untrusted -o ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz ${tempDir}/packages/alpine/${apkArch}/*.apk && \\\n\tabuild-sign -k ${tempDir}/.abuild/abuild-key.rsa ${tempDir}/packages/alpine/${apkArch}/APKINDEX.tar.gz \" && \\\n\tcp ${tempDir}/.abuild/abuild-key.rsa.pub /etc/apk/keys/ && \\\n\tapk del --no-network .build-deps && \\\n\tapk add -X ${tempDir}/packages/alpine/ --no-cache $nginxPackages ;; esac && \\\n\tapk del --no-network .checksum-deps && \\\n\tif [ -n \"$tempDir\" ]; then rm -rf \"$tempDir\"; fi && \\\n\tif [ -f \"/etc/apk/keys/abuild-key.rsa.pub\" ]; then rm -f /etc/apk/keys/abuild-key.rsa.pub; fi && \\\n\tapk add --no-cache curl ca-certificates",
|
|
"system_commands": [
|
|
"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=\"c773d98b567bd585c17f55702bf3e4c7d82b676bfbde395270e90a704dca3c758dfe0380b3f01770542b4fd9bed1f1149af4ce28bfc54a27a96df6b700ac1745 *${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"
|
|
],
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-04-16T10:45:00-04:00",
|
|
"inst_set_time_index": 1,
|
|
"inst_set_time_reverse_index": 1
|
|
},
|
|
{
|
|
"type": "RUN",
|
|
"time": "2025-06-08T15:25:02Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 127131,
|
|
"size_human": "127 kB",
|
|
"command_snippet": "RUN apk add curl && \\\n\trm -rf /var/cache/apk...",
|
|
"command_all": "RUN apk add curl && \\\n\trm -rf /var/cache/apk/*",
|
|
"system_commands": [
|
|
"apk add curl",
|
|
"rm -rf /var/cache/apk/*"
|
|
],
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-06-08T11:15:00-04:00",
|
|
"inst_set_time_index": 2,
|
|
"inst_set_time_reverse_index": 0
|
|
},
|
|
{
|
|
"type": "COPY",
|
|
"time": "2025-06-08T15:25:03Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 195526,
|
|
"size_human": "196 kB",
|
|
"params": "/app/dist /usr/share/nginx/html/",
|
|
"command_snippet": "COPY /app/dist /usr/share/nginx/html/",
|
|
"command_all": "COPY /app/dist /usr/share/nginx/html/",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-06-08T11:15:00-04:00",
|
|
"inst_set_time_index": 2,
|
|
"inst_set_time_reverse_index": 0
|
|
},
|
|
{
|
|
"type": "EXPOSE",
|
|
"time": "2025-06-08T15:25:03Z",
|
|
"is_nop": false,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "80/tcp",
|
|
"command_snippet": "EXPOSE 80/tcp",
|
|
"command_all": "EXPOSE 80/tcp",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-06-08T11:15:00-04:00",
|
|
"inst_set_time_index": 2,
|
|
"inst_set_time_reverse_index": 0
|
|
},
|
|
{
|
|
"type": "ENTRYPOINT",
|
|
"time": "2025-06-08T15:25:03Z",
|
|
"is_nop": false,
|
|
"is_exec_form": true,
|
|
"local_image_exists": false,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "[\"nginx\",\"-g\",\"daemon off;\"]\n",
|
|
"command_snippet": "ENTRYPOINT [\"nginx\",\"-g\",\"daemon off;\"]\n",
|
|
"command_all": "ENTRYPOINT [\"nginx\",\"-g\",\"daemon off;\"]\n",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-06-08T11:15:00-04:00",
|
|
"inst_set_time_index": 2,
|
|
"inst_set_time_reverse_index": 0
|
|
},
|
|
{
|
|
"type": "HEALTHCHECK",
|
|
"time": "2025-06-08T15:25:03Z",
|
|
"is_last_instruction": true,
|
|
"is_nop": false,
|
|
"local_image_exists": true,
|
|
"layer_index": 0,
|
|
"size": 0,
|
|
"params": "&{[\"CMD-SHELL\" \"\\\"/usr/bin/curl localhost\\\" || exit 1\"] \"5s\" \"5s\" \"5s\" \"0s\" '\\x03'}",
|
|
"command_snippet": "HEALTHCHECK --interval=5s --timeout=5s --sta...",
|
|
"command_all": "HEALTHCHECK --interval=5s --timeout=5s --start-period=5s --retries=3 CMD \\/usr/bin/curl localhost\\ || exit 1",
|
|
"comment": "buildkit.dockerfile.v0",
|
|
"raw_tags": [
|
|
"react:latest"
|
|
],
|
|
"is_buildkit_instruction": true,
|
|
"inst_set_time_bucket": "2025-06-08T11:15:00-04:00",
|
|
"inst_set_time_index": 2,
|
|
"inst_set_time_reverse_index": 0
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"image_created": true,
|
|
"image_build_engine": "internal"
|
|
}
|