镜像构建历史
# 2026-08-27 04:12:13 0.00B 设置默认要执行的命令
CMD ["node" "./dist/server.js"]
# 2026-08-27 04:12:13 99.50MB 执行命令并创建新的镜像层
RUN /bin/sh -c npm ci --production # buildkit
# 2026-08-27 04:12:10 143.48KB 复制新文件或目录到容器中
COPY package-lock.json /app/package-lock.json # buildkit
# 2026-08-27 04:12:10 1.46KB 复制新文件或目录到容器中
COPY package.json /app/package.json # buildkit
# 2026-08-27 04:12:10 1.07KB 复制新文件或目录到容器中
COPY LICENSE /app/LICENSE # buildkit
# 2026-08-27 04:12:10 24.53KB 复制新文件或目录到容器中
COPY /app/data /app/data # buildkit
# 2026-08-27 04:12:10 17.05MB 复制新文件或目录到容器中
COPY /app/fonts /app/fonts # buildkit
# 2026-08-27 04:12:10 21.49KB 复制新文件或目录到容器中
COPY /app/dist /app/dist # buildkit
# 2026-08-27 04:11:58 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-08-27 04:11:58 0.00B 声明容器运行时监听的端口
EXPOSE [3000/tcp]
# 2026-08-25 08:55:40 0.00B 设置默认要执行的命令
CMD ["node"]
# 2026-08-25 08:55:40 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2026-08-25 08:55:40 388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
# 2026-08-25 08:55:40 7.18MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apt-mark auto '.*' > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version && rm -rf /tmp/* # buildkit
# 2026-08-25 08:55:27 0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
# 2026-08-25 08:55:27 147.06MB 执行命令并创建新的镜像层
RUN /bin/sh -c ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apt-mark auto '.*' > /dev/null && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
# 2026-08-25 08:55:27 0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=24.19.0
# 2026-08-25 08:55:06 8.90KB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
# 2026-08-24 08:00:00 74.83MB
# debian.sh --arch 'amd64' out/ 'bookworm' '@1787529600'
镜像信息
{
"Id": "sha256:59879d7b40e2c4c74bf16d684b14209dfceb602a33ddd328d4b8db33a38ad6f9",
"RepoTags": [
"dicebear/api:4",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/dicebear/api:4"
],
"RepoDigests": [
"dicebear/api@sha256:032708a4fd44478d825e7880a4ce8accab18dad46ff1a1384d15d81e729ff5fe",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/dicebear/api@sha256:7ec198e7397746edc282906847f8f1c2cd8a0fe4c1aabe965ba28091e869d487"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-08-26T20:12:13.610407222Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"3000/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NODE_VERSION=24.19.0",
"YARN_VERSION=1.22.22"
],
"Cmd": [
"node",
"./dist/server.js"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2026-08-26T20:11:38.727Z",
"org.opencontainers.image.description": "DiceBear Avatars API build on Fastify",
"org.opencontainers.image.licenses": "MIT",
"org.opencontainers.image.revision": "a5f49c98b30747c80d8b26dd4d38ed6ae60c65e4",
"org.opencontainers.image.source": "https://github.com/dicebear/api",
"org.opencontainers.image.title": "api",
"org.opencontainers.image.url": "https://github.com/dicebear/api",
"org.opencontainers.image.version": "4.13.0"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 345817034,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/50aafdeba5475b02e46d77456c29e29e5ccace5d84b15864eb9db59c0a8b8122/diff:/var/lib/docker/overlay2/c3b41391f9977d24d54e5cdbaa6bb6ed703b98bf035f23299e25667096ca79e5/diff:/var/lib/docker/overlay2/69a0e56a8cc5a09975e9dd531845b2bcdac8751b495f647242b710f499f46787/diff:/var/lib/docker/overlay2/591b0de719f91df28ba07aaebc145f3835b38741ab8ac51df7787af69c4b8cf3/diff:/var/lib/docker/overlay2/d28eee04a8fd2c46e77e7527ea56cc665364c9c139cd82900804f5b5a9d1f466/diff:/var/lib/docker/overlay2/8fda6e517b82ab7458ddecb936ceeaf54e4729464dbb7c4b2bd279c3cd80885f/diff:/var/lib/docker/overlay2/b960548838cbe37d189f60cfb67c51a7694ffb165f7e3e264bd19241d59e1c35/diff:/var/lib/docker/overlay2/a419f2a2d9dce9aff4f8ec0dcb36e2c6a2d6a066129103b0754b8e8e527fbbfe/diff:/var/lib/docker/overlay2/582ae1edfb3a301d2247e3a3a2628342c2f3a56736af27f0b62a64990c0e42b9/diff:/var/lib/docker/overlay2/2af5134543fb5233376f31350db933c01d82ce5289a9667d2fdee5fb5c5d1ef1/diff:/var/lib/docker/overlay2/a7c83156bcc9a5b1b70793d4f7178dc7d5a0aea31f3ddbabd191f4a8c1db1841/diff:/var/lib/docker/overlay2/c357efb2b44aed0ae1ad9f4c0b7319d2c9be1d026d0cffcbe43e34ac363f3b02/diff",
"MergedDir": "/var/lib/docker/overlay2/44b07092b12c3499c491d8cb0990c0f2f3521e8b92ff68b070a94cf861f73a0b/merged",
"UpperDir": "/var/lib/docker/overlay2/44b07092b12c3499c491d8cb0990c0f2f3521e8b92ff68b070a94cf861f73a0b/diff",
"WorkDir": "/var/lib/docker/overlay2/44b07092b12c3499c491d8cb0990c0f2f3521e8b92ff68b070a94cf861f73a0b/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:1d69a5fd31932841d7825ef4780c06f008eea65aaa9f3110fe09d5832ed5c7d8",
"sha256:1ecd584585e16573c2663ba440a96264e380d3b73d1aa134bd412832a7a9d007",
"sha256:26bfa8972980bd9e51648c04196656bce2b61da00740da02193ad26350dcec03",
"sha256:f8df5cf514d8a65c9cc96cb515c1551f829b4fe10355783d2e7f4edfb095d4b7",
"sha256:aaa6cd2b99bfcc6c44dbf6f7a291414c7fc026f228eadfd3bd5b608afbfecb81",
"sha256:ea1561a303d80fb72d39f5a05ab34d7fdf7707e30e0a16eaf0ce82b18eaf4218",
"sha256:5f0d575886a8f16005fcdfe5c206a2ccf6b4373b620fc336d78e3613d820c68d",
"sha256:dfb371805383fb45b2b523b30969e5ddaa23bdae51a164408b3ccb8c6c0442bb",
"sha256:7f89510ae4f8d9e966e7d0c644aa15836bf5b09e20f8af3103b8206be38a0416",
"sha256:9aa3eae5b7267059f4a1b75142b22b842150c3cdaae95799aa17583a69f521aa",
"sha256:3249c351c4e5af45c3388d48420d4f405c04ce6fc83d6e9e217d187247ebb082",
"sha256:1c460e28f0bd4163626e2a6d7828edb544fbbc055447ad78c52083b85192d7c2",
"sha256:88a9589a78d393c811cdd4f88de525c0c6e8acdc65e58bc0691c5443c0d3778c"
]
},
"Metadata": {
"LastTagTime": "2026-10-31T02:01:51.842118705+08:00"
}
}