镜像构建历史
# 2026-03-11 23:14:15 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-current
# 2026-03-11 23:14:15 0.00B 添加元数据标签
LABEL devcontainer.metadata=[ {"id":"ghcr.io/devcontainers/features/common-utils:2"}, {"id":"ghcr.io/devcontainers/features/git:1","customizations":{"vscode":{"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes an up-to-date version of Git, built from source as needed, pre-installed and available on the `PATH`."}]}}}}, {"remoteUser":"vscode"}, {"id":"ghcr.io/devcontainers/features/git:1","customizations":{"vscode":{"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes an up-to-date version of Git, built from source as needed, pre-installed and available on the `PATH`."}]}}}}, {"id":"ghcr.io/devcontainers/features/java:1","customizations":{"vscode":{"extensions":["vscjava.vscode-java-pack"],"settings":{"java.import.gradle.java.home":"/usr/local/sdkman/candidates/java/current","github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes Java, SDKMAN! and needed dependencies pre-installed and available on the `PATH`, along with the Java language extension pack for Java development."}]}}}}, {"id":"ghcr.io/devcontainers/features/node:1","customizations":{"vscode":{"extensions":["dbaeumer.vscode-eslint"],"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes `node`, `npm` and `eslint` pre-installed and available on the `PATH` for Node.js and JavaScript development."}]}}}}, {"customizations":{"vscode":{"settings":{},"extensions":["vscjava.vscode-java-pack"]}},"containerEnv":{"JAVA_HOME":"/usr/lib/jvm/msopenjdk-current"},"remoteUser":"vscode"} ]
# 2026-03-11 23:14:15 0.00B 指定运行容器时使用的用户
USER root
# 2026-03-11 23:14:15 0.00B 定义构建参数
ARG _DEV_CONTAINERS_IMAGE_USER=root
# 2026-03-11 23:14:15 20.60MB 执行命令并创建新的镜像层
RUN |1 TARGET_JAVA_VERSION=21 /bin/sh -c cp -ar /tmp/build-features-src/node_2 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/node_2 && cd /tmp/dev-container-features/node_2 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/node_2 # buildkit
# 2026-03-11 23:14:08 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/share/nvm/current/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/lib/jvm/msopenjdk-current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-03-11 23:14:08 0.00B 设置环境变量 NVM_SYMLINK_CURRENT
ENV NVM_SYMLINK_CURRENT=true
# 2026-03-11 23:14:08 0.00B 设置环境变量 NVM_DIR
ENV NVM_DIR=/usr/local/share/nvm
# 2026-03-11 23:14:08 6.11MB 执行命令并创建新的镜像层
RUN |1 TARGET_JAVA_VERSION=21 /bin/sh -c cp -ar /tmp/build-features-src/java_1 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/java_1 && cd /tmp/dev-container-features/java_1 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/java_1 # buildkit
# 2026-03-11 23:14:07 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/lib/jvm/msopenjdk-current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-03-11 23:14:07 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/usr/local/sdkman/candidates/java/current
# 2026-03-11 23:14:07 0.00B 设置环境变量 SDKMAN_DIR
ENV SDKMAN_DIR=/usr/local/sdkman
# 2026-03-11 23:14:07 137.65MB 执行命令并创建新的镜像层
RUN |1 TARGET_JAVA_VERSION=21 /bin/sh -c cp -ar /tmp/build-features-src/git_0 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/git_0 && cd /tmp/dev-container-features/git_0 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/git_0 # buildkit
# 2026-03-11 23:11:30 99.00B 执行命令并创建新的镜像层
RUN |1 TARGET_JAVA_VERSION=21 /bin/sh -c echo "_CONTAINER_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'root' || grep -E '^root|^[^:]*:[^:]*:root:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env && echo "_REMOTE_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'vscode' || grep -E '^vscode|^[^:]*:[^:]*:vscode:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env # buildkit
# 2026-03-11 23:11:30 41.00B 复制新文件或目录到容器中
COPY /tmp/build-features/ /tmp/dev-container-features # buildkit
# 2026-03-11 23:11:30 0.00B 执行命令并创建新的镜像层
RUN |1 TARGET_JAVA_VERSION=21 /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit
# 2026-03-11 23:11:30 0.00B 指定运行容器时使用的用户
USER root
# 2026-03-11 23:11:30 0.00B 添加元数据标签
LABEL dev.containers.timestamp=Wed, 11 Mar 2026 15:10:42 GMT
# 2026-03-11 23:11:30 0.00B 添加元数据标签
LABEL dev.containers.source=https://github.com/devcontainers/images
# 2026-03-11 23:11:30 0.00B 添加元数据标签
LABEL dev.containers.release=v0.4.25
# 2026-03-11 23:11:30 0.00B 添加元数据标签
LABEL dev.containers.variant=21-trixie
# 2026-03-11 23:11:30 0.00B 添加元数据标签
LABEL dev.containers.id=java
# 2026-03-11 23:11:30 0.00B 添加元数据标签
LABEL version=3.0.6
# 2026-03-11 23:11:30 285.00B 复制新文件或目录到容器中
COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit
# 2026-03-11 23:11:30 360.71MB 执行命令并创建新的镜像层
RUN |1 TARGET_JAVA_VERSION=21 /bin/sh -c arch="$(dpkg --print-architecture)" && case "$arch" in "amd64") jdkUrl="https://aka.ms/download-jdk/microsoft-jdk-${TARGET_JAVA_VERSION}-linux-x64.tar.gz"; ;; "arm64") jdkUrl="https://aka.ms/download-jdk/microsoft-jdk-${TARGET_JAVA_VERSION}-linux-aarch64.tar.gz"; ;; *) echo >&2 "error: unsupported architecture: '$arch'"; exit 1 ;; esac && wget --progress=dot:giga -O msopenjdk.tar.gz "${jdkUrl}" && wget --progress=dot:giga -O sha256sum.txt "${jdkUrl}.sha256sum.txt" && sha256sumText=$(cat sha256sum.txt) && sha256=$(expr substr "${sha256sumText}" 1 64) && echo "${sha256} msopenjdk.tar.gz" | sha256sum --strict --check - && rm sha256sum.txt* && mkdir -p "$JAVA_HOME" && tar --extract --file msopenjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner && rm msopenjdk.tar.gz* && ln -s ${JAVA_HOME} /docker-java-home && ln -s ${JAVA_HOME} /usr/local/openjdk-${TARGET_JAVA_VERSION} # buildkit
# 2026-03-11 23:11:30 0.00B 设置环境变量 LANG
ENV LANG=en_US.UTF-8
# 2026-03-11 23:11:30 0.00B 设置环境变量 PATH
ENV PATH=/usr/lib/jvm/msopenjdk-current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# 2026-03-11 23:11:30 0.00B 设置环境变量 JAVA_HOME
ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-current
# 2026-03-11 23:11:30 0.00B 定义构建参数
ARG TARGET_JAVA_VERSION=21
# 2026-03-11 23:11:30 0.00B 指定运行容器时使用的用户
USER root
# 2026-03-09 22:23:10 0.00B 添加元数据标签
LABEL devcontainer.metadata=[ {"id":"ghcr.io/devcontainers/features/common-utils:2"}, {"id":"ghcr.io/devcontainers/features/git:1","customizations":{"vscode":{"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes an up-to-date version of Git, built from source as needed, pre-installed and available on the `PATH`."}]}}}}, {"remoteUser":"vscode"} ]
# 2026-03-09 22:23:10 0.00B 指定运行容器时使用的用户
USER root
# 2026-03-09 22:23:10 0.00B 定义构建参数
ARG _DEV_CONTAINERS_IMAGE_USER=root
# 2026-03-09 22:23:10 476.82MB 执行命令并创建新的镜像层
RUN /bin/sh -c cp -ar /tmp/build-features-src/git_1 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/git_1 && cd /tmp/dev-container-features/git_1 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/git_1 # buildkit
# 2026-03-09 22:20:27 264.07MB 执行命令并创建新的镜像层
RUN /bin/sh -c cp -ar /tmp/build-features-src/common-utils_0 /tmp/dev-container-features && chmod -R 0755 /tmp/dev-container-features/common-utils_0 && cd /tmp/dev-container-features/common-utils_0 && chmod +x ./devcontainer-features-install.sh && ./devcontainer-features-install.sh && rm -rf /tmp/dev-container-features/common-utils_0 # buildkit
# 2026-03-09 22:20:11 87.00B 执行命令并创建新的镜像层
RUN /bin/sh -c echo "_CONTAINER_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'root' || grep -E '^root|^[^:]*:[^:]*:root:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env && echo "_REMOTE_USER_HOME=$( (command -v getent >/dev/null 2>&1 && getent passwd 'vscode' || grep -E '^vscode|^[^:]*:[^:]*:vscode:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env # buildkit
# 2026-03-09 22:20:11 41.00B 复制新文件或目录到容器中
COPY /tmp/build-features/ /tmp/dev-container-features # buildkit
# 2026-03-09 22:20:11 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit
# 2026-03-09 22:20:11 0.00B 指定运行容器时使用的用户
USER root
# 2026-03-09 22:20:11 0.00B 添加元数据标签
LABEL dev.containers.timestamp=Mon, 09 Mar 2026 14:19:35 GMT
# 2026-03-09 22:20:11 0.00B 添加元数据标签
LABEL dev.containers.source=https://github.com/devcontainers/images
# 2026-03-09 22:20:11 0.00B 添加元数据标签
LABEL dev.containers.release=main
# 2026-03-09 22:20:11 0.00B 添加元数据标签
LABEL dev.containers.variant=trixie
# 2026-03-09 22:20:11 0.00B 添加元数据标签
LABEL dev.containers.id=base-debian
# 2026-03-09 22:20:11 0.00B 添加元数据标签
LABEL version=dev
# 2026-03-09 22:20:11 289.00B 复制新文件或目录到容器中
COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit
# 2026-03-09 22:20:11 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get upgrade -y && rm -rf /var/lib/apt/lists/* # buildkit
# 2026-02-25 03:20:02 60.17MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit
# 2026-02-23 08:00:00 119.86MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1771804800'
镜像信息
{
"Id": "sha256:0768f8053ea380cc2f7f4006b8b91cb0234b6538a9739c683d93cf24b0d0f442",
"RepoTags": [
"mcr.microsoft.com/devcontainers/java:3.0.6-21-jdk-trixie",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/java:3.0.6-21-jdk-trixie"
],
"RepoDigests": [
"mcr.microsoft.com/devcontainers/java@sha256:519dd0cc9fe09d6b2990c116441b87a3f4ca3b524c830875f811c1fddce45169",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/java@sha256:3037257ed810bb5220c7bee1b2be11f5ad6926eaf99545ef8e0ae961f89d23ca"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-03-11T15:14:15.069389362Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "root",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/share/nvm/current/bin:/usr/local/sdkman/bin:/usr/local/sdkman/candidates/java/current/bin:/usr/local/sdkman/candidates/gradle/current/bin:/usr/local/sdkman/candidates/maven/current/bin:/usr/local/sdkman/candidates/ant/current/bin:/usr/lib/jvm/msopenjdk-current/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"JAVA_HOME=/usr/lib/jvm/msopenjdk-current",
"LANG=en_US.UTF-8",
"SDKMAN_DIR=/usr/local/sdkman",
"NVM_DIR=/usr/local/share/nvm",
"NVM_SYMLINK_CURRENT=true"
],
"Cmd": [
"bash"
],
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"dev.containers.id": "java",
"dev.containers.release": "v0.4.25",
"dev.containers.source": "https://github.com/devcontainers/images",
"dev.containers.timestamp": "Wed, 11 Mar 2026 15:10:42 GMT",
"dev.containers.variant": "21-trixie",
"devcontainer.metadata": "[ {\"id\":\"ghcr.io/devcontainers/features/common-utils:2\"}, {\"id\":\"ghcr.io/devcontainers/features/git:1\",\"customizations\":{\"vscode\":{\"settings\":{\"github.copilot.chat.codeGeneration.instructions\":[{\"text\":\"This dev container includes an up-to-date version of Git, built from source as needed, pre-installed and available on the `PATH`.\"}]}}}}, {\"remoteUser\":\"vscode\"}, {\"id\":\"ghcr.io/devcontainers/features/git:1\",\"customizations\":{\"vscode\":{\"settings\":{\"github.copilot.chat.codeGeneration.instructions\":[{\"text\":\"This dev container includes an up-to-date version of Git, built from source as needed, pre-installed and available on the `PATH`.\"}]}}}}, {\"id\":\"ghcr.io/devcontainers/features/java:1\",\"customizations\":{\"vscode\":{\"extensions\":[\"vscjava.vscode-java-pack\"],\"settings\":{\"java.import.gradle.java.home\":\"/usr/local/sdkman/candidates/java/current\",\"github.copilot.chat.codeGeneration.instructions\":[{\"text\":\"This dev container includes Java, SDKMAN! and needed dependencies pre-installed and available on the `PATH`, along with the Java language extension pack for Java development.\"}]}}}}, {\"id\":\"ghcr.io/devcontainers/features/node:1\",\"customizations\":{\"vscode\":{\"extensions\":[\"dbaeumer.vscode-eslint\"],\"settings\":{\"github.copilot.chat.codeGeneration.instructions\":[{\"text\":\"This dev container includes `node`, `npm` and `eslint` pre-installed and available on the `PATH` for Node.js and JavaScript development.\"}]}}}}, {\"customizations\":{\"vscode\":{\"settings\":{},\"extensions\":[\"vscjava.vscode-java-pack\"]}},\"containerEnv\":{\"JAVA_HOME\":\"/usr/lib/jvm/msopenjdk-current\"},\"remoteUser\":\"vscode\"} ]",
"version": "3.0.6"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1445987791,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/133012a18333cab8d4b55f808bfd32a9bce84335109ef328f78999e166955050/diff:/var/lib/docker/overlay2/0c14f00c341b58e4db52c3acd645c438f809f24e994aefcd7bd366a74db23cae/diff:/var/lib/docker/overlay2/40a87d211b68de435abebdf1cc5fd8b0f5bccafede502e23aa7fa5d2154db6a6/diff:/var/lib/docker/overlay2/7609983e3d8f04f1f37c672fe8c921bb70b241cd1e49f5cd68e48f24a217fb53/diff:/var/lib/docker/overlay2/7b479f92c94b301b9bfb9cc760ff3670b69de199e27ff15acafabe30c3f8ce88/diff:/var/lib/docker/overlay2/c024534eacb9f0a59d108f3c56e5ca5c36539ac609010f6be013bd3ddea83cff/diff:/var/lib/docker/overlay2/25d3d7a7550a24312126ea7581f81c2e83fedbd407899043122c728f0eb9d617/diff:/var/lib/docker/overlay2/3e8567f314a3507e778fe155dc4320cedbf4076d87c69385774b02181f84cc56/diff:/var/lib/docker/overlay2/0092532dedf8959e56ff55ac13dabf26f9b5311c5e1fd28403b8d527569d9e1d/diff:/var/lib/docker/overlay2/9660fbfe8d65dea5771e141bf0baae794948273547adf5f094bd9197bdf8b596/diff:/var/lib/docker/overlay2/b11b8095e69d0255dd2346d5a1380edb9a1694167c226a54b50472909b8a8ac0/diff:/var/lib/docker/overlay2/9b60bcb7165498c8a037174b373539dff70b4df635ad017805a5b295d7b1eb1f/diff:/var/lib/docker/overlay2/dcce8abb6dcae441994427e71ec0f6840f03dc4750f148875907d7c050d26188/diff:/var/lib/docker/overlay2/e6e98ab0a7117b2fef98b35951e6c6a20573828e0dfc9c43275a96ce97ead484/diff:/var/lib/docker/overlay2/b0a2b41492d7149120741b6386f479de94b6e121332cbce4776070cd7f0de406/diff:/var/lib/docker/overlay2/07b43fcfe4640c76ca69d311cbc2efde34c2751ef6a3b4f78b829677089cc95a/diff",
"MergedDir": "/var/lib/docker/overlay2/3a84c095d3e85b7dfcca7caa51e57b13cab3b559add6fbe0c1bab5f728b481d3/merged",
"UpperDir": "/var/lib/docker/overlay2/3a84c095d3e85b7dfcca7caa51e57b13cab3b559add6fbe0c1bab5f728b481d3/diff",
"WorkDir": "/var/lib/docker/overlay2/3a84c095d3e85b7dfcca7caa51e57b13cab3b559add6fbe0c1bab5f728b481d3/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:a541a5ccaa301e7fac682a49beced877c74cb57f094a6f0527b36d8a0e7e8ded",
"sha256:7fe06297fe28928ada6f9e5363902e4c740b4dcab4b00ca39466592ff1b1162f",
"sha256:b0bb5a26b790c4c9cc05239203f8f5c1c51073dcedb017afed750f0a6a7265ad",
"sha256:e943e59b43eacf8d84e179599750aed76935b8aaa8d12c96ac71144b0a3b93e0",
"sha256:2dfe9bee1014f7bc0510657bc8ee757cccfc85f283af12779c4aefb469c647a5",
"sha256:da13cec86d7ae26dc142f0717a14b80162d6abd1c0ae7254a41e20b3b98a4c76",
"sha256:d281853caf41767ece15c799935674e03bb2767c89701d17b3e9327e4dfdee71",
"sha256:5b299ea7166f21e49dcb9df233c640cc1fd9da991f8bf1d7ee79f72db3da1156",
"sha256:8eed4db497ffddf07fdc92ccd842cb1e7623660403f8cd6b06d8b2998c856c36",
"sha256:75882c9ac7bc243b11d5287346f436a2a2d999785c332c39411d0830649c0e85",
"sha256:864994c452511cb2d677dbc7e10d30cf5a15f2ba7dfc4a519950eaef3d69b4fd",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:8d0e9bb8a20c258f7346ce7c8c64d450129515ea65efd10603736e324c6ee988",
"sha256:ecd1c17d9b1d42cda44b5c5ad726082a56ccb39ff7d316f2ddd623c684a2da3c",
"sha256:a16e635349c8d7b6bf6544abd464316c28c483fe967e5ec83f361ea8501ffa17",
"sha256:c9745339bc14db901ac5c2aeec400ef6ffadabd3756e7eff6e431b59bc06677c",
"sha256:1c616ffcab54dbb1ca9d3c9958d1ca293d38311fda952d893e5936e8405d9322"
]
},
"Metadata": {
"LastTagTime": "2026-03-21T10:45:00.198884085+08:00"
}
}