镜像构建历史
# 2025-04-10 12:18:29 0.00B 设置默认要执行的命令
CMD ["/run.sh"]
# 2025-04-10 12:18:29 1.01KB 执行命令并创建新的镜像层
RUN /bin/sh -c chmod +x /run.sh # buildkit
# 2025-04-10 12:18:29 17.00B 执行命令并创建新的镜像层
RUN /bin/sh -c ln -s /opt/java/openjdk /usr/local/openjdk-11 # buildkit
# 2025-04-10 12:18:29 0.00B 声明容器运行时监听的端口
EXPOSE map[7789/tcp:{}]
# 2025-04-10 12:18:29 0.00B 设置环境变量 TZ
ENV TZ=Asia/Shanghai
# 2025-04-10 12:18:29 0.00B 设置环境变量 CONFIG
ENV CONFIG=/config
# 2025-04-10 12:18:29 0.00B 设置环境变量 PORT
ENV PORT=7789
# 2025-04-10 12:18:29 0.00B 创建挂载点用于持久化数据或共享数据
VOLUME [/config]
# 2025-04-10 12:18:29 0.00B 设置工作目录为/usr/app
WORKDIR /usr/app
# 2025-04-10 12:18:28 23.86MB 复制新文件或目录到容器中
COPY target/ani-rss-jar-with-dependencies.jar /usr/app/ani-rss-jar-with-dependencies.jar # buildkit
# 2025-04-10 12:18:28 1.01KB 复制新文件或目录到容器中
COPY docker/run.sh /run.sh # buildkit
# 2025-03-13 16:54:45 16.78MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; unset OPENJ9_JAVA_OPTIONS; SCC_SIZE="50m"; DOWNLOAD_PATH_TOMCAT=/tmp/tomcat; INSTALL_PATH_TOMCAT=/opt/tomcat-home; TOMCAT_CHECKSUM="cbe407f17c813d9f83cab459e603df171f2e5782c3a0cdb4cfa00b0391a89cedf865c6d8972fc7e12210c69a8467ede5939f35bb0f3b41fa173b9ee83199768a"; TOMCAT_DWNLD_URL="https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.102/bin/apache-tomcat-9.0.102.tar.gz"; mkdir -p "${DOWNLOAD_PATH_TOMCAT}" "${INSTALL_PATH_TOMCAT}"; curl -LfsSo "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz "${TOMCAT_DWNLD_URL}"; echo "${TOMCAT_CHECKSUM} *${DOWNLOAD_PATH_TOMCAT}/tomcat.tar.gz" | sha512sum -c -; tar -xf "${DOWNLOAD_PATH_TOMCAT}"/tomcat.tar.gz -C "${INSTALL_PATH_TOMCAT}" --strip-components=1; rm -rf "${DOWNLOAD_PATH_TOMCAT}"; java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 5; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 15; FULL=$( (java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); DST_CACHE=$(java -Xshareclasses:name=dry_run_scc,cacheDir=/opt/java/.scc,destroy 2>&1 || true); SCC_SIZE=$(echo $SCC_SIZE | sed 's/.$//'); SCC_SIZE=$(awk "BEGIN {print int($SCC_SIZE * $FULL / 100.0)}"); [ "${SCC_SIZE}" -eq 0 ] && SCC_SIZE=1; SCC_SIZE="${SCC_SIZE}m"; java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal,createLayer -Xscmx$SCC_SIZE -version; unset OPENJ9_JAVA_OPTIONS; export OPENJ9_JAVA_OPTIONS="-XX:+IProfileDuringStartupPhase -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,bootClassesOnly,nonFatal"; "${INSTALL_PATH_TOMCAT}"/bin/startup.sh; sleep 5; "${INSTALL_PATH_TOMCAT}"/bin/shutdown.sh -force; sleep 5; FULL=$( (java -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,printallStats 2>&1 || true) | awk '/^Cache is [0-9.]*% .*full/ {print substr($3, 1, length($3)-1)}'); echo "SCC layer is $FULL% full."; rm -rf "${INSTALL_PATH_TOMCAT}"; if [ -d "/opt/java/.scc" ]; then chmod -R 0777 /opt/java/.scc; fi; echo "SCC generation phase completed"; # buildkit
# 2025-03-13 16:54:45 0.00B 设置环境变量 JAVA_TOOL_OPTIONS -Xshareclasses:name
ENV JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal
# 2025-03-13 16:54:45 0.00B 设置环境变量 JAVA_HOME PATH
ENV JAVA_HOME=/opt/java/openjdk PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2025-03-13 16:54:45 154.78MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in aarch64|arm64) ESUM='f26b2b2d8654a09fade4c0ce5819e72e00f1e751bb11a4731537e834900c3282'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.14%2B7_openj9-0.49.0/ibm-semeru-open-jre_aarch64_linux_17.0.14_7_openj9-0.49.0.tar.gz'; ;; ppc64el|ppc64le) ESUM='578a651e9e26de4ec30612afbd69c2530c8ed37db2c46bc62eb6a39dfa35c080'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.14%2B7_openj9-0.49.0/ibm-semeru-open-jre_ppc64le_linux_17.0.14_7_openj9-0.49.0.tar.gz'; ;; amd64|x86_64) ESUM='e2469f16a616ee467d6a590ec043ee9464b039d2f9859327dd36d50953cd60bf'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.14%2B7_openj9-0.49.0/ibm-semeru-open-jre_x64_linux_17.0.14_7_openj9-0.49.0.tar.gz'; ;; s390x) ESUM='e96268d4daa6c5c2526f477ac563ef4851f0156ec67696fb855080704a5fd5c5'; BINARY_URL='https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.14%2B7_openj9-0.49.0/ibm-semeru-open-jre_s390x_linux_17.0.14_7_openj9-0.49.0.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p /opt/java/openjdk; cd /opt/java/openjdk; tar -xf /tmp/openjdk.tar.gz --strip-components=1; rm -rf /tmp/openjdk.tar.gz; # buildkit
# 2025-03-13 16:54:45 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-17.0.14+7_openj9-0.49.0
# 2025-03-13 16:54:45 34.68MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends tzdata curl ca-certificates fontconfig locales && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen en_US.UTF-8 && rm -rf /var/lib/apt/lists/* # buildkit
# 2025-03-13 16:54:45 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2025-03-13 16:54:45 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2025-03-13 16:54:45 78.10MB
/bin/sh -c #(nop) ADD file:1d7c45546e94b90e941c5bf5c7a5d415d7b868581ad96171d4beb76caa8ab683 in /
# 2025-03-13 16:54:45 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
# 2025-03-13 16:54:45 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2025-03-13 16:54:45 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2025-03-13 16:54:45 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:045012dea7340decf0c7cb91184a6f664c43cba78ba6ac2bfc0d9a91fcd70447",
"RepoTags": [
"wushuo894/ani-rss:latest",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wushuo894/ani-rss:latest"
],
"RepoDigests": [
"wushuo894/ani-rss@sha256:f5f39671f5c3abd0c804bf8a2af1743fe9d36ea7cd45a62862d4f968f5d57db8",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wushuo894/ani-rss@sha256:3e13820383affa1989c7d1b4dca68093770be2a6a37041b009c0b5150b515890"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-04-10T04:18:29.117854707Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"7789/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",
"LANG=en_US.UTF-8",
"LANGUAGE=en_US:en",
"LC_ALL=en_US.UTF-8",
"JAVA_VERSION=jdk-17.0.14+7_openj9-0.49.0",
"JAVA_HOME=/opt/java/openjdk",
"JAVA_TOOL_OPTIONS=-XX:+IgnoreUnrecognizedVMOptions -XX:+PortableSharedCache -XX:+IdleTuningGcOnIdle -Xshareclasses:name=openj9_system_scc,cacheDir=/opt/java/.scc,readonly,nonFatal",
"PORT=7789",
"CONFIG=/config",
"TZ=Asia/Shanghai"
],
"Cmd": [
"/run.sh"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": {
"/config": {}
},
"WorkingDir": "/usr/app",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 308209787,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/461c7d91bbb6a18bde573624df9ede879afb66139a70d18b73d5d7ead2c6a3ff/diff:/var/lib/docker/overlay2/6c8901e48f176efd1fbeef3a10b864a2bfe21ed73503759bbda69f581ea2c7ab/diff:/var/lib/docker/overlay2/0d787bde22b4ea1dd4747041cf45ce50ff3c7069421b2eb0e5f87cbc35e92e08/diff:/var/lib/docker/overlay2/fec0c4c13daeba02c4cabbcce313f88448d8bc30204c9f73904d16f89a19faf0/diff:/var/lib/docker/overlay2/bbd2caee5f3a0dec8ea09c2d1ebc6ce4838a4805c1bd3368a4c438e77cb3d102/diff:/var/lib/docker/overlay2/c781027dfbbcbfab0c8ac30613da33b84ea7e7a7acba1948e1bdc07468dbc90d/diff:/var/lib/docker/overlay2/942dd275543c78281ea00c7cd862319b486224e25ae704d8005ad681a078b7da/diff:/var/lib/docker/overlay2/697096b4c822b101843182ff505291800d91c80f1ac5c99f2b9cab5e17ecccf2/diff",
"MergedDir": "/var/lib/docker/overlay2/133f6e959f7b40f54dfa1e30d64fbad53705f200521de93c1b40c76273267123/merged",
"UpperDir": "/var/lib/docker/overlay2/133f6e959f7b40f54dfa1e30d64fbad53705f200521de93c1b40c76273267123/diff",
"WorkDir": "/var/lib/docker/overlay2/133f6e959f7b40f54dfa1e30d64fbad53705f200521de93c1b40c76273267123/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:3abdd8a5e7a8909e1509f1d36dcc8b85a0f95c68a69e6d86c6e9e3c1059d44b3",
"sha256:bc546c0bcd20cf6408c6e1fb8b2c4fb01a49fecf1fc9a8c956d955c5d56a84aa",
"sha256:d881311d6abd7591ab8106f8f62ec2c62548fcb1c89afab7c24dcd749583900b",
"sha256:f72d5d8117cf945eaffa9d261b08d727289ac2d8b5161459d9d18572055a35ee",
"sha256:d8c29f173a8e69acfbb8f5b886ebfeee729fdcf25ab392167e4ca8c989174a14",
"sha256:dbdb5b6dca973c916aa1683639e3e84c1a6d2a63a0b6a5f7377905b3559da20f",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:7f0100a9b978993a55c79eb388ab9e8908e478c710ae12e3f61dad837cc3dca3",
"sha256:4f7499c0d949e146553160ce099f3b3835311751c054d99a16853a121eaa2834"
]
},
"Metadata": {
"LastTagTime": "2025-04-10T16:24:39.991206826+08:00"
}
}