镜像构建历史
# 2025-10-16 19:34:21 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`."}]}}}}, {"customizations":{"vscode":{"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes `gcc`, `g++`, `make`, `cmake`, `cppcheck`, `valgrind`, `clang`, `lldb`, `llvm`, `gdb` and `vcpkg` pre-installed and available on the `PATH`, along with the C/C++ language and CMake tools extensions for C/C++ development."}]},"extensions":["ms-vscode.cpptools","ms-vscode.cmake-tools"]}},"capAdd":["SYS_PTRACE"],"securityOpt":["seccomp=unconfined"],"remoteUser":"vscode"} ]
# 2025-10-16 19:34:21 0.00B 指定运行容器时使用的用户
USER root
# 2025-10-16 19:34:21 0.00B 定义构建参数
ARG _DEV_CONTAINERS_IMAGE_USER=root
# 2025-10-16 19:34:21 136.17MB 执行命令并创建新的镜像层
RUN /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
# 2025-10-16 19:31:49 99.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
# 2025-10-16 19:31:49 41.00B 复制新文件或目录到容器中
COPY /tmp/build-features/ /tmp/dev-container-features # buildkit
# 2025-10-16 19:31:49 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit
# 2025-10-16 19:31:49 0.00B 指定运行容器时使用的用户
USER root
# 2025-10-16 19:31:49 0.00B 添加元数据标签
LABEL dev.containers.timestamp=Thu, 16 Oct 2025 11:29:47 GMT
# 2025-10-16 19:31:49 0.00B 添加元数据标签
LABEL dev.containers.source=https://github.com/devcontainers/images
# 2025-10-16 19:31:49 0.00B 添加元数据标签
LABEL dev.containers.release=v0.4.19
# 2025-10-16 19:31:49 0.00B 添加元数据标签
LABEL dev.containers.variant=noble
# 2025-10-16 19:31:49 0.00B 添加元数据标签
LABEL dev.containers.id=cpp
# 2025-10-16 19:31:49 0.00B 添加元数据标签
LABEL version=2.0.1
# 2025-10-16 19:31:49 279.00B 复制新文件或目录到容器中
COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit
# 2025-10-16 19:31:49 92.14MB 执行命令并创建新的镜像层
RUN |1 USERNAME=vscode /bin/sh -c chmod +x /tmp/install-vcpkg.sh && ./tmp/install-vcpkg.sh ${USERNAME} && rm -f /tmp/install-vcpkg.sh # buildkit
# 2025-10-16 19:30:34 2.96KB 复制新文件或目录到容器中
COPY base-scripts/install-vcpkg.sh /tmp/ # buildkit
# 2025-10-16 19:30:34 0.00B 定义构建参数
ARG USERNAME=vscode
# 2025-10-16 19:30:34 0.00B 设置环境变量 PATH
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/vcpkg
# 2025-10-16 19:30:34 0.00B 设置环境变量 VCPKG_ROOT VCPKG_DOWNLOADS
ENV VCPKG_ROOT=/usr/local/vcpkg VCPKG_DOWNLOADS=/usr/local/vcpkg-downloads
# 2025-10-16 19:30:34 1.08GB 执行命令并创建新的镜像层
RUN /bin/sh -c apt-get update && export DEBIAN_FRONTEND=noninteractive && apt-get -y install build-essential cmake cppcheck valgrind clang lldb llvm gdb && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* # buildkit
# 2025-10-16 19:30:34 0.00B 指定运行容器时使用的用户
USER root
# 2025-10-16 13:53:49 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"} ]
# 2025-10-16 13:53:49 0.00B 指定运行容器时使用的用户
USER root
# 2025-10-16 13:53:49 0.00B 定义构建参数
ARG _DEV_CONTAINERS_IMAGE_USER=root
# 2025-10-16 13:53:49 404.63MB 执行命令并创建新的镜像层
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
# 2025-10-16 13:51:11 195.06MB 执行命令并创建新的镜像层
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
# 2025-10-16 13:50:52 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
# 2025-10-16 13:50:52 41.00B 复制新文件或目录到容器中
COPY /tmp/build-features/ /tmp/dev-container-features # buildkit
# 2025-10-16 13:50:52 0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit
# 2025-10-16 13:50:52 0.00B 指定运行容器时使用的用户
USER root
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL dev.containers.timestamp=Thu, 16 Oct 2025 05:50:40 GMT
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL dev.containers.source=https://github.com/devcontainers/images
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL dev.containers.release=main
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL dev.containers.variant=noble
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL dev.containers.id=base-ubuntu
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL version=dev
# 2025-10-16 13:50:52 288.00B 复制新文件或目录到容器中
COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit
# 2025-10-16 13:50:52 4.47KB 执行命令并创建新的镜像层
RUN |1 VARIANT=noble /bin/sh -c if [ "$VARIANT" = "noble" ]; then if id "ubuntu" &>/dev/null; then echo "Deleting user 'ubuntu' for $VARIANT" && userdel -f -r ubuntu || echo "Failed to delete ubuntu user for $VARIANT"; else echo "User 'ubuntu' does not exist for $VARIANT"; fi; fi # buildkit
# 2025-10-16 13:50:52 0.00B 定义构建参数
ARG VARIANT
# 2025-10-16 13:50:52 0.00B 添加元数据标签
LABEL dev.containers.features=common
# 2024-05-23 04:42:04 33.73MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget tzdata ; apt-get dist-clean # buildkit
# 2024-05-23 04:42:04 0.00B
/bin/sh -c #(nop) CMD ["/bin/bash"]
# 2024-05-23 04:42:04 78.12MB
/bin/sh -c #(nop) ADD file:249778a1782b02a1c2bcf9f292f5778d81442a53c3de1958d712f10baf7e0b60 in /
# 2024-05-23 04:42:04 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04
# 2024-05-23 04:42:04 0.00B
/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu
# 2024-05-23 04:42:04 0.00B
/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH
# 2024-05-23 04:42:04 0.00B
/bin/sh -c #(nop) ARG RELEASE
镜像信息
{
"Id": "sha256:015065bf97888776df25bc43c81f5edf7436db41b224493cc832eae05530fecd",
"RepoTags": [
"mcr.microsoft.com/devcontainers/cpp:ubuntu-24.04",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/cpp:ubuntu-24.04"
],
"RepoDigests": [
"mcr.microsoft.com/devcontainers/cpp@sha256:2c413470d822e147ef6f2f53f1c2001940fedbb35f39e040ec379ec9a160070f",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/cpp@sha256:d992f8d2f4cb90602f46f5040cc6a37fd8ea5c9ecee2bde944f666248c310cd7"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-10-16T11:34:21.124935607Z",
"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/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/vcpkg",
"VCPKG_ROOT=/usr/local/vcpkg",
"VCPKG_DOWNLOADS=/usr/local/vcpkg-downloads"
],
"Cmd": [
"/bin/bash"
],
"Image": "",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": null,
"Labels": {
"dev.containers.features": "common",
"dev.containers.id": "cpp",
"dev.containers.release": "v0.4.19",
"dev.containers.source": "https://github.com/devcontainers/images",
"dev.containers.timestamp": "Thu, 16 Oct 2025 11:29:47 GMT",
"dev.containers.variant": "noble",
"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`.\"}]}}}}, {\"customizations\":{\"vscode\":{\"settings\":{\"github.copilot.chat.codeGeneration.instructions\":[{\"text\":\"This dev container includes `gcc`, `g++`, `make`, `cmake`, `cppcheck`, `valgrind`, `clang`, `lldb`, `llvm`, `gdb` and `vcpkg` pre-installed and available on the `PATH`, along with the C/C++ language and CMake tools extensions for C/C++ development.\"}]},\"extensions\":[\"ms-vscode.cpptools\",\"ms-vscode.cmake-tools\"]}},\"capAdd\":[\"SYS_PTRACE\"],\"securityOpt\":[\"seccomp=unconfined\"],\"remoteUser\":\"vscode\"} ]",
"org.opencontainers.image.ref.name": "ubuntu",
"org.opencontainers.image.version": "24.04",
"version": "2.0.1"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 2020083578,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/f1be68a66982088c05e098604740e3979316d4d7e1b7b06ce2c1c19531ab0e31/diff:/var/lib/docker/overlay2/411d5b3984751553261173b181609c195f985ff04da4621e596d048ea6893dbf/diff:/var/lib/docker/overlay2/9e093695525b93894c786a3b45e4f76d652666f06e8ecc05934521a4b955351c/diff:/var/lib/docker/overlay2/0c1b3a967d041abb5d718621c382f41715e65d5fa74be451cde9a34f80bbcd59/diff:/var/lib/docker/overlay2/af674e62a30355d976d0a63af49a903a027616ce5ac4ad494381007403488cb2/diff:/var/lib/docker/overlay2/9665ef5bd41a866ed100bbd6c419dc0bb99010f01d55e68a57eeb5c0eb57f7b4/diff:/var/lib/docker/overlay2/e3ae1ca8e16cb6b703775970c97218cf89a8af8ec05c8a11aabc98272fb6d76c/diff:/var/lib/docker/overlay2/556ad008a37f8833204301317068a158188fea276cf6a731cec2184545a4b25c/diff:/var/lib/docker/overlay2/641c41b2c9614d370fbe52005f97baf30ad2cc263f39a5595ad5bb76a4c4ee9f/diff:/var/lib/docker/overlay2/3073fb1eadc9db4dbb384b25b0848eff43272d897f63ce87d28e2b0d31ca211c/diff:/var/lib/docker/overlay2/da24c2f4fec49befb1ade0161b54b9ca8471385feea75929198b20fe5338fa34/diff:/var/lib/docker/overlay2/76b46b7dec1700fed628e62d0a141b917ced95734929b8bd956b6d041ee0aed5/diff:/var/lib/docker/overlay2/c4852a4de705cb51fb9832c7d21bab9779a801dd4a0a132993ff3d3f4b15aab1/diff:/var/lib/docker/overlay2/543a3cb206bff54b427ea902534ef19bc6fb8431453e14153440b50c990939ee/diff:/var/lib/docker/overlay2/d381a4319cb690d7e22a46e0e50ea1131087066020f20de5c25937dbb215629e/diff:/var/lib/docker/overlay2/f699dc4372b96340c9d8372b6a5afcb03846fa63cfa944dc688bf909c647a256/diff",
"MergedDir": "/var/lib/docker/overlay2/2a16339bdfe9fc44ea47f3b4aca61c178c305d385cc4f805f9b030a01be786dd/merged",
"UpperDir": "/var/lib/docker/overlay2/2a16339bdfe9fc44ea47f3b4aca61c178c305d385cc4f805f9b030a01be786dd/diff",
"WorkDir": "/var/lib/docker/overlay2/2a16339bdfe9fc44ea47f3b4aca61c178c305d385cc4f805f9b030a01be786dd/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:073ec47a8c22dcaa4d6e5758799ccefe2f9bde943685830b1bf6fd2395f5eabc",
"sha256:698e1d4e12198630a35ec85e7bfd59baa61b9c0498cbc25d93a011b4b322d2be",
"sha256:59bb63d423131baf48600879bade141edbd3d1ddd1adca7a353be18683b9d8b4",
"sha256:838d9d8d1372f8a728fdffbbeb18002606a440057fcfec12ec911e408d5db2af",
"sha256:3af51f45f227aa380ec3cd8787c6449763487d2496f4d12d2d61a4f6f8af84e8",
"sha256:1f8ef692b58ef6368214d0fa1c7d09d991342e264beb9cd031ae2a2bfaf16782",
"sha256:320aa95a51f12f984309ead0209c502edb80c48aef55dfb91f863819abf1644b",
"sha256:3f905e916329ace5f8872d24c27432907594264589aa1547cc99e85c09175018",
"sha256:5ab6f502a7d2de37edac0645dcbe8658ec0a8d4c7b5dd9d925be6db3e0f35c92",
"sha256:25df19f40b36b5985038656fc9c95c08ed20e7f5fc644f4fcb1c0eca40151579",
"sha256:8842278c5f074d560b372badaa3498a8d88a3f32fc0d4fd8fe0bc541ea6c0b9a",
"sha256:770d8bea1877623442e0f5a59995867fca5acddae1a036d5991d3024b6757b03",
"sha256:a7276599726f6f7839b047f3ec45dfb642e4f4acb99d3f8d36523ce27ea7050b",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:328c81d02ee68d470489171394d0545c0fee6d4569dd854da8374d34ac43c152",
"sha256:306c86709e364e95dbfb0089449f943b511b38a41cf413316d9287efcfe6f8f5",
"sha256:224b096352140c761689727cd9872e653313a012b837ab002d3a29658f2657c6"
]
},
"Metadata": {
"LastTagTime": "2025-11-09T13:07:34.832571169+08:00"
}
}