镜像构建历史
# 2026-06-19 23:47:37 0.00B 设置默认要执行的命令
CMD ["client"]
# 2026-06-19 23:47:37 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/entrypoint.sh"]
# 2026-06-19 23:47:37 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir /repos # buildkit
# 2026-06-19 23:47:37 0.00B 声明容器运行时监听的端口
EXPOSE [13100/tcp 13101/tcp 13102/tcp]
# 2026-06-19 23:47:37 0.00B 设置工作目录为/ghidra
WORKDIR /ghidra
# 2026-06-19 23:47:37 11.50KB 复制新文件或目录到容器中
COPY server.conf /ghidra/server/server.conf # buildkit
# 2026-06-19 23:47:37 821.24MB 复制新文件或目录到容器中
COPY /ghidra /ghidra # buildkit
# 2026-06-19 23:23:25 1.13KB 复制新文件或目录到容器中
COPY entrypoint.sh /entrypoint.sh # buildkit
# 2026-06-19 23:23:25 3.97MB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && apt-get install -y fontconfig libxrender1 libxtst6 libxi6 --no-install-recommends && echo "===> Clean up unnecessary files..." && apt-get clean && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives /tmp/* /var/tmp/* # buildkit
# 2026-06-19 09:11:13 0.00B 设置默认要执行的命令
CMD ["jshell"]
# 2026-06-19 09:11:13 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/__cacert_entrypoint.sh"]
# 2026-06-19 09:11:13 5.31KB 复制新文件或目录到容器中
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
# 2026-06-19 09:11:13 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-06-19 09:11:12 308.31MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='4b2220e232a97997b436ca6ab15cbf70171ecff52958a46159dfa5a8c44ca4de'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.11_10.tar.gz'; ;; arm64) ESUM='8d498ec88e1c1989fab95c6784240ab92d011e29c54d20a3f9c324b13476f9ad'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.11_10.tar.gz'; ;; ppc64el) ESUM='3d043ae96d2343962bf2307d8c55f19849fbfa4c6be9fe164a77d79263f0d989'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.11_10.tar.gz'; ;; riscv64) ESUM='40c6862e6aff63fe9a03856ba0506531b516a17bdb5018464e9006ea7f0f5fe4'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_riscv64_linux_hotspot_21.0.11_10.tar.gz'; ;; s390x) ESUM='14dbe3cb226e64b945a36bea32686e8deec746504fe3ccee8de585c54af41ffd'; BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.11%2B10/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.11_10.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; 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; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
# 2026-06-19 09:11:05 0.00B 设置环境变量 JAVA_VERSION
ENV JAVA_VERSION=jdk-21.0.11+10
# 2026-06-19 09:11:05 72.32MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends curl wget gnupg 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-06-19 09:11:05 0.00B 设置环境变量 LANG LANGUAGE LC_ALL
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
# 2026-06-19 09:11:05 0.00B 设置环境变量 PATH
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-06-19 09:11:05 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/opt/java/openjdk
# 2026-06-10 11:33:03 179.00B
umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/.temp_layer.control_data.9196.tar
# 2026-06-10 11:33:03 0.00B
umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=manifest.annotations --manifest.annotation org.opencontainers.image.version=26.04 --manifest.annotation org.opencontainers.image.title=ubuntu --manifest.annotation org.opencontainers.image.created=2026-06-10T03:33:03.035505+00:00 --manifest.annotation org.opencontainers.image.description=The Ubuntu container image maintained by Canonical
Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things.
It is the world's most popular operating system across public clouds and OpenStack clouds.
It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale.
Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
# 2026-06-10 11:33:03 0.00B
umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=config.labels --config.label org.opencontainers.image.version=26.04 --config.label org.opencontainers.image.title=ubuntu --config.label org.opencontainers.image.created=2026-06-10T03:33:03.035505+00:00 --config.label org.opencontainers.image.description=The Ubuntu container image maintained by Canonical
Ubuntu is a Debian-based Linux operating system that runs from the desktop to the cloud, to all your internet connected things.
It is the world's most popular operating system across public clouds and OpenStack clouds.
It is the number one platform for containers; from Docker to Kubernetes to LXD, Ubuntu can run your containers at scale.
Fast, secure and simple, Ubuntu powers millions of PCs worldwide.
# 2026-06-10 11:33:03 0.00B
umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --config.env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-06-10 11:33:03 0.00B
umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=config.cmd --config.cmd /bin/bash
# 2026-06-10 11:33:02 0.00B
umoci config --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:26.04 --clear=config.entrypoint --clear=config.cmd
# 2026-06-10 11:33:02 120.04MB
umoci raw add-layer --image /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/ubuntu:rockcraft-base /home/buildd/rockcraft-ubuntu-79fcbede9d5522fcffb04b46daf93b5a/images/.temp_layer.9196.tar --tag 26.04
镜像信息
{
"Id": "sha256:cb2a0750540af508be9b9bf671a96bb5221dc09e75449411edf65ef3a42f2de0",
"RepoTags": [
"blacktop/ghidra:latest",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/blacktop/ghidra:latest-linuxarm64"
],
"RepoDigests": [
"blacktop/ghidra@sha256:2561c4ef8a3eb4c851bf8ce7eec4737c93f067fe607d773af021b60a62bf6a68",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/blacktop/ghidra@sha256:dbb25fb03bdff99b1587359189619ca7411a6f9b8e1e083337451a0acfb81152"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-06-19T15:47:37.729696674Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"13100/tcp": {},
"13101/tcp": {},
"13102/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-21.0.11+10"
],
"Cmd": [
"client"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/ghidra",
"Entrypoint": [
"/entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2026-06-19T15:21:46.254Z",
"org.opencontainers.image.description": "Ghidra Client/Server Docker Image",
"org.opencontainers.image.licenses": "Apache-2.0",
"org.opencontainers.image.revision": "528360ee1b4131bda944ea264e0224cd7ea5d89b",
"org.opencontainers.image.source": "https://github.com/blacktop/docker-ghidra",
"org.opencontainers.image.title": "docker-ghidra",
"org.opencontainers.image.url": "https://github.com/blacktop/docker-ghidra",
"org.opencontainers.image.version": "master"
}
},
"Architecture": "arm64",
"Os": "linux",
"Size": 1325893591,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/782c8ea857adaf9d190cd7d35e7675b31e24673ea0c471cdb4fcf35261395f1f/diff:/var/lib/docker/overlay2/7214b068d634f5704bce85ec982d14a95a6b814cbcd264e0eeb2ea77418919fe/diff:/var/lib/docker/overlay2/2451980072ee629880331dd53cb3cffc2558d9a2f619fd15e182505a590cb472/diff:/var/lib/docker/overlay2/0d5bb710405013dbd7c5e4c015f706ca7d35cf396aa0746a5bef41c67adb7b74/diff:/var/lib/docker/overlay2/263e307e9780d713efb4847ad56d13eefd1f3ab6e9c54717648a98bb7014d4bd/diff:/var/lib/docker/overlay2/c9c1c2d228f1ae57c78b05e7be41d576114c585a4c9fcb980135bc2c6b83fb8a/diff:/var/lib/docker/overlay2/045aef5612c6f11d0f3aa202ca07341ca06c52172ab72106229e40377bc2b638/diff:/var/lib/docker/overlay2/487d4ca11c6c49e7f307379dad8041bfbbc5c5c0ab210e647cb596a55eee848d/diff:/var/lib/docker/overlay2/763304cbb1923426a598c3d17dd139d2dc83617f7f5263d54fdede92740a1469/diff:/var/lib/docker/overlay2/1a1a1f4eb265ba77fa1082e32e8a61c3fd46999371995ab0858412149d071261/diff:/var/lib/docker/overlay2/d13299aaec8fb0a9ba1fe5e77cdc3db7e60e3be8c8edb878cc4fc5c10df7f962/diff",
"MergedDir": "/var/lib/docker/overlay2/71b7a20cc665c3f9dbb36063ae18047881e24a2c710baed3aabe08df5ff81c2d/merged",
"UpperDir": "/var/lib/docker/overlay2/71b7a20cc665c3f9dbb36063ae18047881e24a2c710baed3aabe08df5ff81c2d/diff",
"WorkDir": "/var/lib/docker/overlay2/71b7a20cc665c3f9dbb36063ae18047881e24a2c710baed3aabe08df5ff81c2d/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:09bcb482d54e91b3e39dea5f46532cea33576be64c602430cc1b5e2e225e2208",
"sha256:ccff796b304fd50f1866d190a0c172bf40afb14e1c169ca205ab6fb96dafebda",
"sha256:6de2edaaff4b75f601f18d7b2e005b14fffbfa227596acd208c3d3131993abdc",
"sha256:ea433a1a4481a5861981d2803283941749a1de773a9765eb5cca3661059ff051",
"sha256:8fedcd6c7ef87a3db1a3089db14f8012db45f2980e97a70e8e2ebce88ec3c3c8",
"sha256:6d348748ab81890667b91db423c5af4763760acea7f8d2bee3864f2eaf5f76a3",
"sha256:e44f5ebdb54769e92ec73c0746d7882f99d120a00d8b4ceb97effd9cb7e66603",
"sha256:65c243abca3399e7c9ced97d0d8e25e873ff07e0c793732fd177e6611ae24bed",
"sha256:2e9175f8d0d3c725f9c6ec3f8beb0cfb4bf15a264d98da11ec29a0e6c5ec134e",
"sha256:7978649524d885d7437a1aae68b7939b4a5bd819267269b2f538b9b9651424d5",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:b7478910a49d96d99d3bf4d5655cf04b30c24df3a410aea5d9244625bdf5a630"
]
},
"Metadata": {
"LastTagTime": "2026-07-14T18:10:06.397516255+08:00"
}
}