镜像构建历史
# 2026-10-27 09:24:22 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["./entry-point.sh"]
# 2026-10-27 09:24:22 14.39MB 复制新文件或目录到容器中
COPY ./public /app/public # buildkit
# 2026-10-27 09:24:22 85.78MB 复制新文件或目录到容器中
COPY ./target/kuboard-server-v4.3.3.0.jar /app/kuboard-server.jar # buildkit
# 2026-10-27 09:24:22 950.00B 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.3.0 TARGETARCH=amd64 /bin/sh -c chmod +x entry-point.sh # buildkit
# 2026-10-27 09:24:22 950.00B 复制新文件或目录到容器中
COPY ./docker/entry-point.sh /app/entry-point.sh # buildkit
# 2026-10-27 09:24:22 0.00B 设置环境变量 STATIC_LOCATIONS
ENV STATIC_LOCATIONS=/app/public
# 2026-10-27 09:24:22 0.00B 设置环境变量 SERVER_PORT
ENV SERVER_PORT=80
# 2026-10-27 09:24:22 0.00B 设置环境变量 KUBOARD_SWAGGER_ENABLED
ENV KUBOARD_SWAGGER_ENABLED=true
# 2026-10-27 09:24:22 0.00B 设置环境变量 SPRING_PROFILES_ACTIVE
ENV SPRING_PROFILES_ACTIVE=production
# 2026-10-27 09:24:22 0.00B 声明容器运行时监听的端口
EXPOSE [8081/tcp]
# 2026-10-27 09:24:22 0.00B 声明容器运行时监听的端口
EXPOSE [80/tcp]
# 2026-10-27 09:24:22 59.67MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.3.0 TARGETARCH=amd64 /bin/sh -c curl -fsSL https://mirrors.huaweicloud.com/helm/v3.18.0/helm-v3.18.0-linux-${TARGETARCH:-amd64}.tar.gz -o /tmp/helm-3.18.tar.gz && mkdir -p /opt/helm/helm-3.18 && tar -xzf /tmp/helm-3.18.tar.gz -C /opt/helm/helm-3.18 --strip-components=1 linux-${TARGETARCH:-amd64}/helm && rm /tmp/helm-3.18.tar.gz && chmod +x /opt/helm/helm-3.18/helm && ln -sf /opt/helm/helm-3.18/helm /usr/local/bin/helm-3.18 # buildkit
# 2026-10-27 09:24:20 57.12MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.3.0 TARGETARCH=amd64 /bin/sh -c curl -fsSL https://mirrors.huaweicloud.com/helm/v3.16.0/helm-v3.16.0-linux-${TARGETARCH:-amd64}.tar.gz -o /tmp/helm-3.16.tar.gz && mkdir -p /opt/helm/helm-3.16 && tar -xzf /tmp/helm-3.16.tar.gz -C /opt/helm/helm-3.16 --strip-components=1 linux-${TARGETARCH:-amd64}/helm && rm /tmp/helm-3.16.tar.gz && chmod +x /opt/helm/helm-3.16/helm && ln -sf /opt/helm/helm-3.16/helm /usr/local/bin/helm-3.16 # buildkit
# 2026-10-27 09:24:17 51.29MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.3.0 TARGETARCH=amd64 /bin/sh -c curl -fsSL https://mirrors.huaweicloud.com/helm/v3.13.0/helm-v3.13.0-linux-${TARGETARCH:-amd64}.tar.gz -o /tmp/helm-3.13.tar.gz && mkdir -p /opt/helm/helm-3.13 && tar -xzf /tmp/helm-3.13.tar.gz -C /opt/helm/helm-3.13 --strip-components=1 linux-${TARGETARCH:-amd64}/helm && rm /tmp/helm-3.13.tar.gz && chmod +x /opt/helm/helm-3.13/helm && ln -sf /opt/helm/helm-3.13/helm /usr/local/bin/helm-3.13 # buildkit
# 2026-10-27 09:24:15 149.54KB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.3.0 TARGETARCH=amd64 /bin/sh -c for a in "cn_emsign_ecc_root_ca__c3,o_emudhra_inc,ou_emsign_pki,c_us [jdk]" "cn_emsign_ecc_root_ca__g3,o_emudhra_technologies_limited,ou_emsign_pki,c_in [jdk]" "cn_emsign_root_ca__c1,o_emudhra_inc,ou_emsign_pki,c_us [jdk]" "cn_emsign_root_ca__g1,o_emudhra_technologies_limited,ou_emsign_pki,c_in [jdk]"; do keytool -delete -alias "$a" -cacerts -storepass changeit -noprompt 2>/dev/null || true; done; remaining="$(keytool -list -cacerts -storepass changeit 2>/dev/null | grep -ci emsign)"; echo "CVE-2026-91403: remaining emSign/eMudhra roots in cacerts = ${remaining} (expect 0)"; test "${remaining}" = "0" # buildkit
# 2026-10-27 09:24:11 5.94MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.3.0 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y curl && apt-get clean && rm -rf /var/cache/apt/archives /var/lib/apt/lists/* # buildkit
# 2026-10-18 22:16:55 0.00B 设置环境变量 SERVER_PORT
ENV SERVER_PORT=8080
# 2026-10-18 22:16:55 0.00B 设置环境变量 TZ
ENV TZ=Asia/Shanghai
# 2026-10-18 22:16:55 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-10-18 22:16:55 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2026-10-18 22:16:55 0.00B 定义构建参数
ARG VITE_KUBOARD_VERSION=v4.3.3.0
# 2026-10-17 08:20:08 0.00B 设置默认要执行的命令
CMD ["jshell"]
# 2026-10-17 08:20:08 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2026-10-17 08:20:08 5.98KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2026-10-17 08:20:08 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; echo "Verifying install ..."; fileEncoding="$(echo 'System.out.println(System.getProperty("file.encoding"))' | jshell -s -)"; [ "$fileEncoding" = 'UTF-8' ]; rm -rf ~/.java; echo "javac --version"; javac --version; echo "java --version"; java --version; echo "Complete." # buildkit
# 2026-10-17 08:20:07 264.14MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='dbb698396d478e7fa2b1e50f4103324b2a99b90569ee27c33f2261f9215cf41e'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz'; ;; arm64) ESUM='69df11a02cfa3ef7d7ca645e03edce6778ec090e100f6ae2b42097865730ac52'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_aarch64_linux_hotspot_25.0.4.1_1.tar.gz'; ;; ppc64el) ESUM='b508ca140557322c73da4278d21004b22480b894ffdc67a8795d7814afd8775c'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_ppc64le_linux_hotspot_25.0.4.1_1.tar.gz'; ;; riscv64) ESUM='8dbef2b12ceaecec9b5f00d7f568309b7e3525137777736abfc65900c054ccf9'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_riscv64_linux_hotspot_25.0.4.1_1.tar.gz'; ;; s390x) ESUM='012d4fe2be909a80c64675ab579877dd9b1db1eff6c7b327eed87b907706f819'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_s390x_linux_hotspot_25.0.4.1_1.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget gnupg; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz ${JAVA_HOME}/lib/src.zip; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
# 2026-10-17 08:19:46 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-25.0.4.1+1
# 2026-10-17 08:19:46 51.12MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends fontconfig ca-certificates p11-kit binutils tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
# 2026-10-17 08:19:46 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2026-10-17 08:19:46 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-10-17 08:19:46 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2026-10-02 16:10:55 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2026-10-02 16:10:54 78.18MB
/bin/sh -c #(nop) ADD file:7121eb4a5ba391efb4ba9a38c532d1c5dc2d22d276f04e062f357eea36ee62c4 in /
# 2026-10-02 16:10:52 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
# 2026-10-02 16:10:52 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2026-10-02 16:10:52 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:b5a94c95e2a299ecb77ad1d3bf56881c9dd9ecf59e0fa083f5b337d993600d67",
"RepoTags": [
"eipwork/kuboard:v4.3.3.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eipwork/kuboard:v4.3.3.0"
],
"RepoDigests": [
"eipwork/kuboard@sha256:a97411b6ca11d86269309801c1f86bcb77d388320730fcebbed3f3c9c0a53d6d",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eipwork/kuboard@sha256:7bc35b35e898542714c26320b955cfdb9c1564652a068471c338f070c04ec827"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-10-27T09:24:22.576080942+08:00",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"80/tcp": {},
"8081/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"JAVA_HOME=/opt/java/openjdk",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"JAVA_VERSION=jdk-25.0.4.1+1",
"TZ=Asia/Shanghai",
"SERVER_PORT=80",
"SPRING_PROFILES_ACTIVE=production",
"KUBOARD_SWAGGER_ENABLED=true",
"STATIC_LOCATIONS=/app/public"
],
"Cmd": null,
"Image": "",
"Volumes": null,
"WorkingDir": "/app",
"Entrypoint": [
"./entry-point.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.version": "24.04"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 667806256,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/593d6bf252c30e2aa62c2e94ab52b7c9fcf1df9d4ef2034601916d5cc1027755/diff:/var/lib/docker/overlay2/cf93ec5166b7103115c0d77b935ddf71282aca90727f00998506f9feb53016d7/diff:/var/lib/docker/overlay2/5391a4b175170c49a980bde57fdba94128c2e5da27ca7ec09c451676a39bafb1/diff:/var/lib/docker/overlay2/821826c7c147a65db9508914bb1b72583d58d07c546c96480394bb0343d48e16/diff:/var/lib/docker/overlay2/f28f790e6f2ca91df29ca70ad76f0c3bcbdd7746983de442c70efd3b94b2d31a/diff:/var/lib/docker/overlay2/2d6a1402b6132d4be1cfc68455e32223ae47540bb95a173176d7ef5bb7ac2ae9/diff:/var/lib/docker/overlay2/56526c998814fc79889334467f098464bdc3aab251c9be30cedc8de677f110a6/diff:/var/lib/docker/overlay2/31a58779ab41e29d390a570112fc0bf35da0f0407b1513e693c320e65ca5f309/diff:/var/lib/docker/overlay2/fdb6ba6e4dca82ac27705c1230c790e8f3b45d16e701e185b51d6221b07f8efc/diff:/var/lib/docker/overlay2/dc19fbc0386114587701990fbffe433b5a3ee2ce309548671b93dc595995fdfd/diff:/var/lib/docker/overlay2/9eb3ae14ee0cf52c463cfa8a7f51b1b9794a93932287160926142ca26d050e5c/diff:/var/lib/docker/overlay2/7c97f8cd83df43da1ffda42d66384a116b919dc77ccfac0f2a2b388881b23c98/diff:/var/lib/docker/overlay2/ef169fe825ea2b06982a0356a29bf37e07d467e14f44c848641b90b4e1b205a7/diff:/var/lib/docker/overlay2/606282760b88b0c709c6c1c07ac9fb4935347bdea74d3abd7b6f73fe8ab801cc/diff",
"MergedDir": "/var/lib/docker/overlay2/b2232244c31cf1a8f791a6049b7e31d65b9d369b4e2c84ada1c1c69c7b26dc29/merged",
"UpperDir": "/var/lib/docker/overlay2/b2232244c31cf1a8f791a6049b7e31d65b9d369b4e2c84ada1c1c69c7b26dc29/diff",
"WorkDir": "/var/lib/docker/overlay2/b2232244c31cf1a8f791a6049b7e31d65b9d369b4e2c84ada1c1c69c7b26dc29/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:32ab39660fd51c6dc3aae486b42d42bbe8fe4c1db78eaf57bb9c21198de48a16",
"sha256:adccb50e13584b9c3bfedd86dfe864238559682fadc1a3fc14ecfd8e62bbd97b",
"sha256:788e59ce1116f7676e56bceb2efacd36a25bb8ba63521f9dca846c84f9f8d0d9",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:9f72784ef84b51934ccfe3aa2f1189a1cffe60368d465cc320cd0605b003445f",
"sha256:3fd43679902532b9a530240f0b72905bf8e482326591a53986cf4ad1b8b6abb4",
"sha256:9896e42ade0e8684bc69863fca0c55d3b577011cd1a0003b09710009b28b8b72",
"sha256:e4530b07ed7faf3d35b524212c68af581c14cb69cc35bb51859f9359115f1eb0",
"sha256:1447e9df41f8b4cab10ddc12716bd364828b9e9c319d64553a8143d71a8370ea",
"sha256:4762aee1ac776683d4b3d041448b18c024224a8f1593b1b771045ee8c5fb98bd",
"sha256:3acc0751d1c43006ae42ceb89d0865c9222ed1ae77d65acc2dba7d4b3737b6e7",
"sha256:dfdb6c5a725acfa5245959659a0b32d1954db668bae1a325aa27284d274b2fbe",
"sha256:f4bf892937018afd819545db6ca413b94d111b1d468c188a7af10a89de814b33",
"sha256:49c25d969f961449e4123b1ff3eb650a4441f4541c6a3d9f13221c458e4d48b2",
"sha256:a8f70901fee4ef50b495cefc578eefc41c14ac644b8addb76959a1c5cffd7c0e"
]
},
"Metadata": {
"LastTagTime": "2026-10-27T10:46:56.723674156+08:00"
}
}