镜像构建历史
# 2026-11-11 08:18:11 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["./entry-point.sh"]
# 2026-11-11 08:18:11 15.01MB 复制新文件或目录到容器中
COPY ./public /app/public # buildkit
# 2026-11-11 08:18:11 86.46MB 复制新文件或目录到容器中
COPY ./target/kuboard-server-v4.3.5.0.jar /app/kuboard-server.jar # buildkit
# 2026-11-11 08:18:11 950.00B 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.5.0 TARGETARCH=amd64 /bin/sh -c chmod +x entry-point.sh # buildkit
# 2026-11-11 08:18:10 950.00B 复制新文件或目录到容器中
COPY ./docker/entry-point.sh /app/entry-point.sh # buildkit
# 2026-11-11 08:18:10 0.00B 设置环境变量 STATIC_LOCATIONS
ENV STATIC_LOCATIONS=/app/public
# 2026-11-11 08:18:10 0.00B 设置环境变量 SERVER_PORT
ENV SERVER_PORT=80
# 2026-11-11 08:18:10 0.00B 设置环境变量 KUBOARD_SWAGGER_ENABLED
ENV KUBOARD_SWAGGER_ENABLED=true
# 2026-11-11 08:18:10 0.00B 设置环境变量 SPRING_PROFILES_ACTIVE
ENV SPRING_PROFILES_ACTIVE=production
# 2026-11-11 08:18:10 0.00B 声明容器运行时监听的端口
EXPOSE [8081/tcp]
# 2026-11-11 08:18:10 0.00B 声明容器运行时监听的端口
EXPOSE [80/tcp]
# 2026-11-11 08:18:10 59.67MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.5.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-11-11 08:18:08 57.12MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.5.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-11-11 08:18:06 51.29MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.5.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-11-11 08:18:03 153.34KB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.5.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-11-11 08:17:48 5.94MB 执行命令并创建新的镜像层
RUN |2 VITE_KUBOARD_VERSION=v4.3.5.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-11-01 09:54:21 0.00B 设置环境变量 SERVER_PORT
ENV SERVER_PORT=8080
# 2026-11-01 09:54:21 0.00B 设置环境变量 TZ
ENV TZ=Asia/Shanghai
# 2026-11-01 09:54:21 0.00B 设置工作目录为/app
WORKDIR /app
# 2026-11-01 09:54:21 0.00B 定义构建参数
ARG TARGETARCH=amd64
# 2026-11-01 09:54:21 0.00B 定义构建参数
ARG VITE_KUBOARD_VERSION=v4.3.5.0
# 2026-10-30 03:16:57 0.00B 设置默认要执行的命令
CMD ["jshell"]
# 2026-10-30 03:16:57 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2026-10-30 03:16:57 5.98KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2026-10-30 03:16:57 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-30 03:16:55 264.22MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='68982529869257d0ee6b824ec5aa270ff8b118bb438670da0b97ebdab178d7fb'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.5%2B8/OpenJDK25U-jdk_x64_linux_hotspot_25.0.5_8.tar.gz'; ;; arm64) ESUM='bb5b2ded252f21c6090cf780b0a408ad0d83bbb557e702955643557f13231880'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.5%2B8/OpenJDK25U-jdk_aarch64_linux_hotspot_25.0.5_8.tar.gz'; ;; ppc64el) ESUM='47825886fd72e86c94e6fd1687a13bebb4ae729e24d2788be0d294589bf07297'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.5%2B8/OpenJDK25U-jdk_ppc64le_linux_hotspot_25.0.5_8.tar.gz'; ;; riscv64) ESUM='21d9ee84f64d845e7de888f86cc2abe3256c75853a0d5abe7fd42d6526374e90'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.5%2B8/OpenJDK25U-jdk_riscv64_linux_hotspot_25.0.5_8.tar.gz'; ;; s390x) ESUM='dfed6b7b428852ab1a3b9eb7734264f4d4cc163686e4136f93b9942f3d8f44cd'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.5%2B8/OpenJDK25U-jdk_s390x_linux_hotspot_25.0.5_8.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-30 03:16:38 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-25.0.5+8
# 2026-10-30 03:16:38 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-30 03:16:38 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2026-10-30 03:16:38 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-10-30 03:16:38 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2026-10-25 22:17:47 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2026-10-25 22:17:47 78.18MB
/bin/sh -c #(nop) ADD file:eed88e94d6aa7c9da62836e137f889e03988c1a6b237b0cedb6ca666dfaa98ea in /
# 2026-10-25 22:17:45 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
# 2026-10-25 22:17:45 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2026-10-25 22:17:45 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:53450b19ac6c622d9751ca30e0ea62ba6f197ae0a450100e210f18b78c22a6e3",
"RepoTags": [
"eipwork/kuboard:v4.3.5.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eipwork/kuboard:v4.3.5.0"
],
"RepoDigests": [
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/eipwork/kuboard@sha256:43e69e77ccf629ae9af33ba53d66b6bdc2fc0c66d000828f120200581bf87051"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-11-11T08:18:11.441715086+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.5+8",
"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": 669183393,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/335979c4aad8e7092361d054581cd7850b839ecd702d6aac5c344366dde3bc67/diff:/var/lib/docker/overlay2/3b61ced7aab5f020d398d17f0e970bf5dd27eab29f8c3be348303f6e11ba075f/diff:/var/lib/docker/overlay2/70b80d57f1e4f7c5ee85e2bbed465fc762c508251a61be227ebfad4a0f56c284/diff:/var/lib/docker/overlay2/52aeffb1018654c34682837941bd226deec60895e09e5f207f861be3596d9641/diff:/var/lib/docker/overlay2/8660f3e4ba467de4fb72d8b555c8b93e65b513d159456f9956d2ef7c83400c8e/diff:/var/lib/docker/overlay2/519f8c92d932348f09162f08c936342e7f4f25bb6d4e9ae5355237cd4660a28f/diff:/var/lib/docker/overlay2/a6fabe2942680bbbf3d54cebe83af5d184a50c2039806d16960db28e1fd85703/diff:/var/lib/docker/overlay2/28e12be1a051da76ce424540e8add21444c433caf0c62395d0a3de635b5869ad/diff:/var/lib/docker/overlay2/b61565ccf6a41e1d3b8b95d1e5fd10612d9d33981253560e24644e2267b42dee/diff:/var/lib/docker/overlay2/264506d042e1c20301cbf1725270eb4be0e8b05a64071c132f84116555ddbc00/diff:/var/lib/docker/overlay2/94db6c8292bdf83d17962a21abefc7f6e2b6c6c1be00daf175e14abaaab55e1d/diff:/var/lib/docker/overlay2/7f8a9bdf1ec44c3b26b6bebb33eeae5b6d85111a1b5967cec9ce729febf9f566/diff:/var/lib/docker/overlay2/af5794e88431bbc5f8a289a8e10ad7dd1d2ba266b1e69d2aef68145798d58d91/diff:/var/lib/docker/overlay2/ce99c8630b9b9d3831cccc7886dc43938bc83aa720e346a9f482ab9b2aaa746a/diff",
"MergedDir": "/var/lib/docker/overlay2/45d1c7a691a83d92a014ee9737616294b9de7b450278f8d7c17cd748f1d0cf68/merged",
"UpperDir": "/var/lib/docker/overlay2/45d1c7a691a83d92a014ee9737616294b9de7b450278f8d7c17cd748f1d0cf68/diff",
"WorkDir": "/var/lib/docker/overlay2/45d1c7a691a83d92a014ee9737616294b9de7b450278f8d7c17cd748f1d0cf68/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:bec87777bc2fb2edcdf9af11df1531469e7df911309c1413082b18fcb8610278",
"sha256:8dca5fc19615ea9f0441e332f6676df9689f851f3f073397a209362c88bcc4f3",
"sha256:006b9cddf24b679109582a865d3d317dc60d0bfd17ce487b7ce692a76dda82fd",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:df470ccdaaa73bbe1b8d5046eb6069bdfa59a09b1a9d2743796d255f0387682e",
"sha256:395a1bcbf8cf010e6d63f8df3f63acbef8f042b8e9026cd039f18728f12d3e4c",
"sha256:eac8b6781f0408f6cb8765c8b8ad06dfb17322176f873c18947e0ce24e7d2ce7",
"sha256:7ff834f9d6755f81ec64aeff5f00a3451d220c3f9b46ac6cbc778bad95d83dba",
"sha256:8d255202803f6e85fd7aa48b6aa79d44bb2e3ab2570653b70af45693961c971c",
"sha256:f65c356e1db67efe4b72a8659088df6c101082e055acda8a181b618f84ae88df",
"sha256:988c0ba6209eee962ab4d79d81698b86d2c6cfa2c16413cff049b14d30e4c777",
"sha256:7cbd15117c5321d153a8a4d505cb8d692db5eae4940f547f02da706aac4fee03",
"sha256:c978512925457cba59171ba9bb3aa68dd22ede1d051c6fd92c5f8883a2d42391",
"sha256:649403ed5f9321168d5b02cd5fad7fd0f3c3ef1db9452a512baa742e7615ba2c",
"sha256:fd5f7c74a29f0a7d4cc2fa53aa66a75aadbbb792c0056dadcc895625ed7ef7e3"
]
},
"Metadata": {
"LastTagTime": "2026-11-12T18:23:25.219300903+08:00"
}
}