镜像构建历史
# 2025-10-08 16:40:45 840.00B 复制新文件或目录到容器中
COPY ./docker/etc/sudoers /etc/sudoers # buildkit
# 2025-10-08 16:40:45 3.95KB 复制新文件或目录到容器中
COPY ./docker/etc/nscd.conf /etc/nscd.conf # buildkit
# 2025-10-08 16:40:44 39.69MB 执行命令并创建新的镜像层
RUN |1 TARGETPLATFORM=linux/arm64 /bin/sh -c set -eux && mkdir -p --mode=0755 /usr/share/keyrings && curl --fail --show-error --silent --location --insecure https://pkg.cloudflare.com/cloudflare-main.gpg --output /usr/share/keyrings/cloudflare-main.gpg && echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared buster main' | tee /etc/apt/sources.list.d/cloudflared.list && apt-get update && apt-get install --yes --no-install-recommends cloudflared && cloudflared version && rm -rf /var/lib/apt/lists/* && apt --yes autoremove # buildkit
# 2025-10-08 16:40:21 57.77MB 执行命令并创建新的镜像层
RUN |1 TARGETPLATFORM=linux/arm64 /bin/sh -c apt-get update && apt-get --yes --no-install-recommends install python3 python3-pip python3-cryptography python3-six python3-yaml python3-click python3-markdown python3-requests python3-requests-oauthlib sqlite3 iputils-ping util-linux dumb-init curl ca-certificates sudo nscd && pip3 --no-cache-dir install apprise==1.6.0 && rm -rf /var/lib/apt/lists/* && apt --yes autoremove # buildkit
# 2025-10-08 16:38:09 642.00B 执行命令并创建新的镜像层
RUN |1 TARGETPLATFORM=linux/arm64 /bin/sh -c sed -i '/^deb/s/^/#/' /etc/apt/sources.list && echo "deb http://archive.debian.org/debian buster main contrib non-free" | tee -a /etc/apt/sources.list && echo "deb http://archive.debian.org/debian-security buster/updates main contrib non-free" | tee -a /etc/apt/sources.list && echo "deb http://archive.debian.org/debian buster-updates main contrib non-free" | tee -a /etc/apt/sources.list # buildkit
# 2025-10-08 16:38:09 0.00B 设置工作目录为/app
WORKDIR /app
# 2025-10-08 16:38:09 0.00B 定义构建参数
ARG TARGETPLATFORM
# 2024-05-21 21:48:08 0.00B 设置默认要执行的命令
CMD ["node"]
# 2024-05-21 21:48:08 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2024-05-21 21:48:08 388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
# 2024-05-21 21:48:08 7.14MB 执行命令并创建新的镜像层
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 --keyserver keyserver.ubuntu.com --recv-keys "$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
# 2024-05-21 21:48:08 0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.19
# 2024-05-21 21:48:08 109.98MB 执行命令并创建新的镜像层
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';; s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; *) 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 4ED778F539E3634C779C87C6D7062848A1AB005C 141F07595B7B3FFE74309A937405533BE57C7D57 74F12602B6F1C4E913FAA37AD3A89613643B6201 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 61FC681DFB92A079F1685E77973F295594EC4689 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 CC68F5A3106FF448322E48ED27F5E38D5B0A215F ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$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 # buildkit
# 2024-05-21 21:48:08 0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=18.20.3
# 2024-05-21 21:48:08 336.07KB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
# 2024-05-21 21:48:08 0.00B
/bin/sh -c #(nop) CMD ["bash"]
# 2024-05-21 21:48:08 64.14MB
/bin/sh -c #(nop) ADD file:de9a2b323e6d7d969277e7e781875e3daf3f49f2c1dcc569a1eec4f5bd789c46 in /
镜像信息
{
"Id": "sha256:b386f0c3ed4aa573338e9790e7e8ab8fe256414ffe7777c2ffbb93f0f94b3c05",
"RepoTags": [
"louislam/uptime-kuma:base-debian",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/louislam/uptime-kuma:base-debian-linuxarm64"
],
"RepoDigests": [
"louislam/uptime-kuma@sha256:1f0dffce83eb0997917edd4bd1641667442afc2563021469291a573c15970224",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/louislam/uptime-kuma@sha256:307b86790a40d8f6d1b8b8972aaa426c45397460353ecdecda6d76147da26a3f"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-10-08T08:40:45.070889941Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NODE_VERSION=18.20.3",
"YARN_VERSION=1.22.19"
],
"Cmd": [
"node"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": null
},
"Architecture": "arm64",
"Os": "linux",
"Size": 279071777,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/c92c729e1a0e848318fbfe03bf5b233f65c2cd8e065f6feac4596dcf165b6c76/diff:/var/lib/docker/overlay2/dc01db1d44b8587c3c1265f31e0070c8b8e2dbd66ac0ef0f287485de1695c240/diff:/var/lib/docker/overlay2/57b6e6351030ecf90a24d28e35bd698e0843cfb3ff0f339d68ba930708eb4dc2/diff:/var/lib/docker/overlay2/9ce2a9d3d3a661f30f169152788954b3804c711201faf36c36547b402e62ea05/diff:/var/lib/docker/overlay2/0e2b34af0956f92231e2e2cb89b89c4ea7003c162a370bfadbd41756d66d87db/diff:/var/lib/docker/overlay2/eb19d4356f8e42dedd73fd867c32bdc71e56bf5169025f1dc5224618b1f5d149/diff:/var/lib/docker/overlay2/f45a078a1fd8613d3ee20152b7c5fcf61fdb697aec2ad12fa36ec1bc6f4f85a1/diff:/var/lib/docker/overlay2/180e85faf20804093a4b1000243a8f1c554f3a521d57e74d70948f3f1114cc8d/diff:/var/lib/docker/overlay2/0cf897a216a92112633439ae51009fc917e0d41ea654f63593c5043273a02118/diff:/var/lib/docker/overlay2/a58110288ea5bb9aad83a38414d7ae5a8dc2373b6ffcf2077aacace0070974eb/diff",
"MergedDir": "/var/lib/docker/overlay2/d496827f59b3581778c3b98a188348e8ddad65851fc51ea33b445d8871fab0a1/merged",
"UpperDir": "/var/lib/docker/overlay2/d496827f59b3581778c3b98a188348e8ddad65851fc51ea33b445d8871fab0a1/diff",
"WorkDir": "/var/lib/docker/overlay2/d496827f59b3581778c3b98a188348e8ddad65851fc51ea33b445d8871fab0a1/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:ec8cbb2796aec1c16ac52437c37b9b7449112fe9267edf10c4aa7596e7059605",
"sha256:6d4d4f04857e4b9b79641fb324387b547e0ad6d816932c7dd269cc0996124a92",
"sha256:c0a703314602450bbb94b82fa860f02b640b50dfce4c4a3dbf563c7bfcb86987",
"sha256:2f81746bf6523e16ac92830a120929c742922869d2833cf0d6bf97b49eff07e5",
"sha256:f34efe0df2134de5bd93dc35fe53035d9a8644b491d1f791e7b26eaa37619863",
"sha256:ca31d2cb7a0c149cc743521395573f636e2ab7e8956aa74dbf10c108e535bec5",
"sha256:f089e648ceb20ba5ddb4e233e1c2860aaf23a631cecfa35cdacf7428a9a79d62",
"sha256:59c9abf9c265f5b7e6627c76ca016d7c3eb556ee67710cdda3e6cb20420f8908",
"sha256:07edfd7e09472e3ac46e0902ef4d7847e045c8dffc2d818ffa40f1dcdcc07b0a",
"sha256:bb8b373b8bb6972ba0425710a53751bdb9ceded0231dd74bb80e6eaa60031f65",
"sha256:e6c405ee422b8cf0af22ae1ab0f2a352c302952003659dc4bbc81770cc575546"
]
},
"Metadata": {
"LastTagTime": "2025-10-11T15:57:28.974389637+08:00"
}
}