广告图片

mcr.microsoft.com/devcontainers/typescript-node:22-bookworm linux/arm64

mcr.microsoft.com/devcontainers/typescript-node:22-bookworm - 国内下载镜像源 浏览次数:10 温馨提示: 这是一个 linux/arm64 系统架构镜像

这是微软提供的预构建开发容器镜像,包含Node.js环境、TypeScript及必要的开发工具,适用于搭建TypeScript与Node.js项目的容器化开发环境,可快速启动容器化开发工作流,支持代码编写、编译、测试等开发活动。

源镜像 mcr.microsoft.com/devcontainers/typescript-node:22-bookworm
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64
镜像ID sha256:c41c5dd4453ab88fae91442e4e22dab61a5120a0fa848de7cf08d70c020375b0
镜像TAG 22-bookworm-linuxarm64
大小 1.81GB
镜像源 mcr.microsoft.com
CMD node
启动入口 docker-entrypoint.sh
工作目录
OS/平台 linux/arm64
浏览量 10 次
贡献者
镜像创建 2026-03-11T14:29:00.431055513Z
同步时间 2026-03-27 00:41
环境变量
PATH=/usr/local/share/nvm/current/bin:/usr/local/share/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NODE_VERSION=22.22.1 YARN_VERSION=1.22.22 NVM_DIR=/usr/local/share/nvm NVM_SYMLINK_CURRENT=true
镜像标签
typescript-node: dev.containers.id v0.4.25: dev.containers.release https://github.com/devcontainers/images: dev.containers.source Wed, 11 Mar 2026 13:46:38 GMT: dev.containers.timestamp 22-bookworm: dev.containers.variant [ {"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`."}]}}}}, {"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":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"}, {"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":{"extensions":["dbaeumer.vscode-eslint"],"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes the TypeScript compiler (`tsc`) pre-installed and available on the `PATH` for TypeScript development."}]}}},"remoteUser":"node"} ]: devcontainer.metadata 4.0.7: version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64  mcr.microsoft.com/devcontainers/typescript-node:22-bookworm

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64  mcr.microsoft.com/devcontainers/typescript-node:22-bookworm

Shell快速替换命令

sed -i 's#mcr.microsoft.com/devcontainers/typescript-node:22-bookworm#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64  mcr.microsoft.com/devcontainers/typescript-node:22-bookworm'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64  mcr.microsoft.com/devcontainers/typescript-node:22-bookworm'

镜像构建历史


# 2026-03-11 22:29:00  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`."}]}}}}, {"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":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"}, {"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":{"extensions":["dbaeumer.vscode-eslint"],"settings":{"github.copilot.chat.codeGeneration.instructions":[{"text":"This dev container includes the TypeScript compiler (`tsc`) pre-installed and available on the `PATH` for TypeScript development."}]}}},"remoteUser":"node"} ]
                        
# 2026-03-11 22:29:00  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-03-11 22:29:00  0.00B 定义构建参数
ARG _DEV_CONTAINERS_IMAGE_USER=root
                        
# 2026-03-11 22:29:00  136.83MB 执行命令并创建新的镜像层
RUN |1 NODE_MODULES=tslint-to-eslint-config typescript /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 21:48:12  95.00B 执行命令并创建新的镜像层
RUN |1 NODE_MODULES=tslint-to-eslint-config typescript /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 'node' || grep -E '^node|^[^:]*:[^:]*:node:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env # buildkit
                        
# 2026-03-11 21:48:12  39.00B 复制新文件或目录到容器中
COPY /tmp/build-features/ /tmp/dev-container-features # buildkit
                        
# 2026-03-11 21:48:12  0.00B 执行命令并创建新的镜像层
RUN |1 NODE_MODULES=tslint-to-eslint-config typescript /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit
                        
# 2026-03-11 21:48:12  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-03-11 21:48:12  0.00B 添加元数据标签
LABEL dev.containers.timestamp=Wed, 11 Mar 2026 13:46:38 GMT
                        
# 2026-03-11 21:48:12  0.00B 添加元数据标签
LABEL dev.containers.source=https://github.com/devcontainers/images
                        
# 2026-03-11 21:48:12  0.00B 添加元数据标签
LABEL dev.containers.release=v0.4.25
                        
# 2026-03-11 21:48:12  0.00B 添加元数据标签
LABEL dev.containers.variant=22-bookworm
                        
# 2026-03-11 21:48:12  0.00B 添加元数据标签
LABEL dev.containers.id=typescript-node
                        
# 2026-03-11 21:48:12  0.00B 添加元数据标签
LABEL version=4.0.7
                        
# 2026-03-11 21:48:12  309.00B 复制新文件或目录到容器中
COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit
                        
# 2026-03-11 21:48:12  0.00B 执行命令并创建新的镜像层
RUN |1 NODE_MODULES=tslint-to-eslint-config typescript /bin/sh -c /tmp/install-subversion.sh   && rm -f /tmp/install-subversion.sh # buildkit
                        
# 2026-03-11 21:48:12  1.40KB 执行命令并创建新的镜像层
RUN |1 NODE_MODULES=tslint-to-eslint-config typescript /bin/sh -c chmod +x /tmp/install-subversion.sh # buildkit
                        
# 2026-03-11 21:48:12  1.40KB 复制新文件或目录到容器中
COPY ./scripts/install-subversion.sh /tmp/install-subversion.sh # buildkit
                        
# 2026-03-11 21:48:11  150.08MB 执行命令并创建新的镜像层
RUN |1 NODE_MODULES=tslint-to-eslint-config typescript /bin/sh -c su node -c "umask 0002 && npm install -g ${NODE_MODULES}"     && npm cache clean --force > /dev/null 2>&1 # buildkit
                        
# 2026-03-11 21:48:11  0.00B 定义构建参数
ARG NODE_MODULES=tslint-to-eslint-config typescript
                        
# 2026-03-09 23:19:53  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`."}]}}}}, {"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":{"extensions":["dbaeumer.vscode-eslint"]}},"remoteUser":"node"} ]
                        
# 2026-03-09 23:19:53  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-03-09 23:19:53  0.00B 定义构建参数
ARG _DEV_CONTAINERS_IMAGE_USER=root
                        
# 2026-03-09 23:19:53  32.51MB 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /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-09 23:19:28  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/share/nvm/current/bin:/usr/local/share/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-03-09 23:19:28  0.00B 设置环境变量 NVM_SYMLINK_CURRENT
ENV NVM_SYMLINK_CURRENT=true
                        
# 2026-03-09 23:19:28  0.00B 设置环境变量 NVM_DIR
ENV NVM_DIR=/usr/local/share/nvm
                        
# 2026-03-09 23:19:28  146.06MB 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /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:38:56  112.57MB 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /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:37:03  95.00B 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /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 'node' || grep -E '^node|^[^:]*:[^:]*:node:' /etc/passwd || true) | cut -d: -f6)" >> /tmp/dev-container-features/devcontainer-features.builtin.env # buildkit
                        
# 2026-03-09 22:37:02  39.00B 复制新文件或目录到容器中
COPY /tmp/build-features/ /tmp/dev-container-features # buildkit
                        
# 2026-03-09 22:37:02  0.00B 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /bin/sh -c mkdir -p /tmp/dev-container-features # buildkit
                        
# 2026-03-09 22:37:02  0.00B 指定运行容器时使用的用户
USER root
                        
# 2026-03-09 22:37:02  0.00B 添加元数据标签
LABEL dev.containers.timestamp=Mon, 09 Mar 2026 14:19:27 GMT
                        
# 2026-03-09 22:37:02  0.00B 添加元数据标签
LABEL dev.containers.source=https://github.com/devcontainers/images
                        
# 2026-03-09 22:37:02  0.00B 添加元数据标签
LABEL dev.containers.release=main
                        
# 2026-03-09 22:37:02  0.00B 添加元数据标签
LABEL dev.containers.variant=22-bookworm
                        
# 2026-03-09 22:37:02  0.00B 添加元数据标签
LABEL dev.containers.id=javascript-node
                        
# 2026-03-09 22:37:02  0.00B 添加元数据标签
LABEL version=dev
                        
# 2026-03-09 22:37:02  302.00B 复制新文件或目录到容器中
COPY meta.env /usr/local/etc/vscode-dev-containers/ # buildkit
                        
# 2026-03-09 22:37:02  76.70MB 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /bin/sh -c /tmp/install-subversion.sh   && rm -f /tmp/install-subversion.sh # buildkit
                        
# 2026-03-09 22:20:30  1.40KB 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /bin/sh -c chmod +x /tmp/install-subversion.sh # buildkit
                        
# 2026-03-09 22:20:30  1.40KB 复制新文件或目录到容器中
COPY ./scripts/install-subversion.sh /tmp/install-subversion.sh # buildkit
                        
# 2026-03-09 22:20:30  20.86MB 执行命令并创建新的镜像层
RUN |2 USERNAME=node NPM_GLOBAL=/usr/local/share/npm-global /bin/sh -c if ! cat /etc/group | grep -e "^npm:" > /dev/null 2>&1; then groupadd -r npm; fi     && usermod -a -G npm ${USERNAME}     && umask 0002     && mkdir -p ${NPM_GLOBAL}     && touch /usr/local/etc/npmrc     && chown ${USERNAME}:npm ${NPM_GLOBAL} /usr/local/etc/npmrc     && chmod g+s ${NPM_GLOBAL}     && npm config -g set prefix ${NPM_GLOBAL}     && su ${USERNAME} -c "npm config -g set prefix ${NPM_GLOBAL}"     && su ${USERNAME} -c "umask 0002 && npm install -g eslint"     && npm cache clean --force > /dev/null 2>&1 # buildkit
                        
# 2026-03-09 22:20:30  0.00B 设置环境变量 PATH
ENV PATH=/usr/local/share/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
                        
# 2026-03-09 22:20:30  0.00B 定义构建参数
ARG NPM_GLOBAL=/usr/local/share/npm-global
                        
# 2026-03-09 22:20:30  0.00B 定义构建参数
ARG USERNAME=node
                        
# 2026-03-06 05:11:26  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-03-06 05:11:26  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-03-06 05:11:26  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-03-06 05:11:26  5.34MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex   && export GNUPGHOME="$(mktemp -d)"   && for key in     6A010C5166006599AA17F08146C2130DFD2497F5   ; do     { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ||     { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ;   done   && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz"   && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc"   && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz   && gpgconf --kill all   && rm -rf "$GNUPGHOME"   && mkdir -p /opt   && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/   && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn   && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg   && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz   && yarn --version   && rm -rf /tmp/* # buildkit
                        
# 2026-03-06 05:11:23  0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
                        
# 2026-03-06 05:11:23  194.44MB 执行命令并创建新的镜像层
RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)"   && case "${dpkgArch##*-}" in     amd64) ARCH='x64';;     ppc64el) ARCH='ppc64le';;     s390x) ARCH='s390x';;     arm64) ARCH='arm64';;     armhf) ARCH='armv7l';;     i386) ARCH='x86';;     *) echo "unsupported architecture"; exit 1 ;;   esac   && export GNUPGHOME="$(mktemp -d)"   && set -ex   && for key in     5BE8A3F6C8A5C01D106C0AD820B1A390B168D356     DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7     CC68F5A3106FF448322E48ED27F5E38D5B0A215F     8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600     890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4     C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C     108F52B48DB57BB0CC439B2997B01419BD92F80A     A363A499291CBBC940DD62E41F10027AF002F8B0   ; do       { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ||       { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ;   done   && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz"   && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc"   && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc   && gpgconf --kill all   && rm -rf "$GNUPGHOME"   && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c -   && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner   && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt   && ln -s /usr/local/bin/node /usr/local/bin/nodejs   && node --version   && npm --version   && rm -rf /tmp/* # buildkit
                        
# 2026-03-06 05:11:23  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=22.22.1
                        
# 2026-03-06 05:11:13  8.94KB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --gid 1000 node   && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
                        
# 2026-02-25 05:27:38  560.70MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex; 	apt-get update; 	apt-get install -y --no-install-recommends 		autoconf 		automake 		bzip2 		default-libmysqlclient-dev 		dpkg-dev 		file 		g++ 		gcc 		imagemagick 		libbz2-dev 		libc6-dev 		libcurl4-openssl-dev 		libdb-dev 		libevent-dev 		libffi-dev 		libgdbm-dev 		libglib2.0-dev 		libgmp-dev 		libjpeg-dev 		libkrb5-dev 		liblzma-dev 		libmagickcore-dev 		libmagickwand-dev 		libmaxminddb-dev 		libncurses5-dev 		libncursesw5-dev 		libpng-dev 		libpq-dev 		libreadline-dev 		libsqlite3-dev 		libssl-dev 		libtool 		libwebp-dev 		libxml2-dev 		libxslt-dev 		libyaml-dev 		make 		patch 		unzip 		xz-utils 		zlib1g-dev 	; 	rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-02-25 04:14:28  183.63MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	apt-get update; 	apt-get install -y --no-install-recommends 		git 		mercurial 		openssh-client 		subversion 				procps 	; 	rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-02-25 03:24:04  48.51MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -eux; 	apt-get update; 	apt-get install -y --no-install-recommends 		ca-certificates 		curl 		gnupg 		netbase 		sq 		wget 	; 	rm -rf /var/lib/apt/lists/* # buildkit
                        
# 2026-02-23 08:00:00  138.94MB 
# debian.sh --arch 'arm64' out/ 'bookworm' '@1771804800'
                        
                    

镜像信息

{
    "Id": "sha256:c41c5dd4453ab88fae91442e4e22dab61a5120a0fa848de7cf08d70c020375b0",
    "RepoTags": [
        "mcr.microsoft.com/devcontainers/typescript-node:22-bookworm",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node:22-bookworm-linuxarm64"
    ],
    "RepoDigests": [
        "mcr.microsoft.com/devcontainers/typescript-node@sha256:7653612ebf9384fa1cbd32413d8f4fbf7daaf24e39e8664d9fc030de8c0c0af2",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/devcontainers/typescript-node@sha256:f11bd8ef9b33117e687d82442f6a0b9e9c5c103abba84e937c47ca56f9177a39"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-03-11T14:29:00.431055513Z",
    "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/share/npm-global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=22.22.1",
            "YARN_VERSION=1.22.22",
            "NVM_DIR=/usr/local/share/nvm",
            "NVM_SYMLINK_CURRENT=true"
        ],
        "Cmd": [
            "node"
        ],
        "Image": "",
        "Volumes": null,
        "WorkingDir": "",
        "Entrypoint": [
            "docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "dev.containers.id": "typescript-node",
            "dev.containers.release": "v0.4.25",
            "dev.containers.source": "https://github.com/devcontainers/images",
            "dev.containers.timestamp": "Wed, 11 Mar 2026 13:46:38 GMT",
            "dev.containers.variant": "22-bookworm",
            "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`.\"}]}}}}, {\"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\":{\"extensions\":[\"dbaeumer.vscode-eslint\"]}},\"remoteUser\":\"node\"}, {\"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\":{\"extensions\":[\"dbaeumer.vscode-eslint\"],\"settings\":{\"github.copilot.chat.codeGeneration.instructions\":[{\"text\":\"This dev container includes the TypeScript compiler (`tsc`) pre-installed and available on the `PATH` for TypeScript development.\"}]}}},\"remoteUser\":\"node\"} ]",
            "version": "4.0.7"
        }
    },
    "Architecture": "arm64",
    "Os": "linux",
    "Size": 1807190815,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/ce6fc2f90bc305ab1355fd1b1efe26bc8bcb694c5b082d2dad94bb3cb95c680c/diff:/var/lib/docker/overlay2/1917823286b13e130996caf5b25ea401482d6df628820429a30db39074e7eb4c/diff:/var/lib/docker/overlay2/186050b0f934f2dcf96a346da88f66491fd8eaa1db3e1e8aa1186369bdb142ba/diff:/var/lib/docker/overlay2/3163911da82e335b5409885a38686bb2575078bc81c0534586ed7bc29e1a69ba/diff:/var/lib/docker/overlay2/4f3b36803639abc9c6cee95ee81abfc646a2635e35b1c369f10cb81a4f6f4a62/diff:/var/lib/docker/overlay2/157fb9b2d8cbd48969b041bec2dc977007caccb0aa1f8654cc7c30a4d5a192e9/diff:/var/lib/docker/overlay2/29b5d8b9739a04856661a05ecf94e83134e70cbe73256bd421b864d9149a2c81/diff:/var/lib/docker/overlay2/4657b94b655348b1069a3c029dced151011f05d551db264b305dc45acc9b1c4f/diff:/var/lib/docker/overlay2/fff9d304efa3a52bbcbc19457de9d54fb5540c82d4ab23cf28a174c8cf25e319/diff:/var/lib/docker/overlay2/e5d410cfac07bde091d8c4333f02280f761cfdf434cdce3cb10293988e648e24/diff:/var/lib/docker/overlay2/a5276839f5ddc485c5685a347bea6f47e1ac8c7403598607a30b67f75d9d4b8d/diff:/var/lib/docker/overlay2/aaf6303a5ec15795c1989ec92a4e30a4b180572b76cda6ff4b00e54c5e66ed25/diff:/var/lib/docker/overlay2/95120420b8bc454e98b806ab07176014d663dbeaba50193ab2152335c0e7188f/diff:/var/lib/docker/overlay2/86ea2c036cc40ab58ae595a070f155ec6eb58169b23967a24cd60682ff4c9a57/diff:/var/lib/docker/overlay2/604250ffc3d75dc03b0885374077b6c242c61572473efa83d9113bcde0b5c74d/diff:/var/lib/docker/overlay2/8d955d4f7dd048694b1a013cb2f90d76c5800a50ba17bb7447c9214cc7dcb16f/diff:/var/lib/docker/overlay2/b3dce3ad937da582813b9e68cf04ccef2954d078b98c2cf1f914953eeeffe208/diff:/var/lib/docker/overlay2/7513b1061d8c7c99ab788e478fb34faf73c93ddef8f81dd5165435383e7aa30c/diff:/var/lib/docker/overlay2/60ff45ce8b3ee922e464214444983865fca0e4894a28c9ef149569c4a38f63c0/diff:/var/lib/docker/overlay2/5aa4d355d25c8776df4869efbc421956e627459741e18879888431d69f3ca6cf/diff:/var/lib/docker/overlay2/e7bfd21cd8c4295198b2d05ff7e4ec11eca9677d54dc1d398db1e45e1e8d07fb/diff:/var/lib/docker/overlay2/dfd9782801fbcfd2f1a90e36b6cf062721efdb1e72c365acbca8d93c6606eb73/diff:/var/lib/docker/overlay2/f0293f5c456274ba61c19bae68bbabff04621231faf2d76d452edab1e3bce987/diff:/var/lib/docker/overlay2/b72084aaf2b68f90231cc42e6301db601b3ac7f7a00ed689030968c6b9ae42ac/diff:/var/lib/docker/overlay2/4a6a11cdebf84d3aa3b0955e8010e203ff68094bd012e5985ccb3c6a693bc1e8/diff:/var/lib/docker/overlay2/0dab9fe3d8ed599cf2f2232b88159f9d0495e2d0e9adb03c5ee1dd20dfa10365/diff:/var/lib/docker/overlay2/d0afd4233c46b7b72cd7a4637cf758a61ef4c44e70379fb44077ed8cbafe9042/diff",
            "MergedDir": "/var/lib/docker/overlay2/c4821f273968c42cc1037f55b10fc029df94b3182633450dc86fb16f0db31ad5/merged",
            "UpperDir": "/var/lib/docker/overlay2/c4821f273968c42cc1037f55b10fc029df94b3182633450dc86fb16f0db31ad5/diff",
            "WorkDir": "/var/lib/docker/overlay2/c4821f273968c42cc1037f55b10fc029df94b3182633450dc86fb16f0db31ad5/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:936ef6d54e230add6890be5a9fb1faf9c12aeabd6c598d151348ebf84d5a333d",
            "sha256:779d34bc271a94a296e51c4a5b8ae19f4b9094c48ab79f71baa6bf6bb171f3e1",
            "sha256:483b0d5815f74f5d448cd918913baef499b4c472fc9d00d315eadc7b2e8f614b",
            "sha256:ac2fc371334ccfae275b25e3e9f95f50a510ddb0f923945f8983f80da482e20d",
            "sha256:13dc54803e0bf0320a9ff438b0d1bb0080f6364d2615afdffffbef96423790a3",
            "sha256:42e05c716b113a92f955ecabcc017b69911f53efb07bcd54edb13f7d306a9b6b",
            "sha256:9020a5efb85b7fb8957447956bd7784fe007d04affd46d2b1562b42c471a913a",
            "sha256:2c22b9ef98ab37d9bb0a58fb0be97ad321f9cc23a135b80c0afe833863496a5e",
            "sha256:097d0faceefabed0e53b2ea2e04beb89b5359f3133edb471603e38e6a7ae6560",
            "sha256:0e72a620e18292dba0f177d495635003aaeba7cce64cbb53e492409974d0778b",
            "sha256:849bd3a48c8a8c3294ba3e28b8255420052417559f57ce2a4734a1e5c3526e15",
            "sha256:5be14dfaa2a33d13715926a82c3dd2aa872928a438c7ef380d401c8b38c241e2",
            "sha256:49f1708059bb835209e0811023d4a3f369f2f0a763860dd9da61280d8baf600f",
            "sha256:ea8970f2fdd716437d3fc282092dd684e60d4efe514ed4a7454630e6a0785d4f",
            "sha256:2491e947cb03fac16a186f6297f0c37482a43a449b01555d1cc63a537a99ef54",
            "sha256:713cf14c96f668176ff4f866717f984a1368dfd75e50f11b4643863f433f90b6",
            "sha256:09266d32e0b34d5f4a65db1ac1bf2b2e462d62b42bfce587f6dea2f36f738972",
            "sha256:6e8e21d86b075e2b9ed6132a7b09d69a3588f563a26cdd0041f8ab265d1d2333",
            "sha256:63c6a8001c0576ce6628c4870ef4a5df1d6c824ba5cabc207e95ccda86b270b4",
            "sha256:0c8065d373a9301e5607c5e05b8ce2440e20cd820cc2be283d72a62671c17ce3",
            "sha256:e5cdb6721e87d56e652aa014645606a5a1bc2b7dba4dc0f401468aeb014a2587",
            "sha256:51fedcf543890f84fc1a4881c437f9987cfc86607910e8a8d9b4729d2af26203",
            "sha256:f555697393ecf78a6f5baa7545d71bda1f4e0230ff5f6b410205fc804c302635",
            "sha256:f405ff9ffc03097ecf2da14a0d3e5e91b3973cfd1d2095ef5c6a6401b9dcb377",
            "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
            "sha256:697ec36eae90bc2ddbab5e27079ce832f814ae82ad8a8548f8b4ad8939744c5e",
            "sha256:613b38634ef7372042f868aab65c484e270a63432a54f3bd2a94f7bef5f4d764",
            "sha256:3d3826950cf42196f20ff0e7c5f796243078331b0bb8277d7d8bc30c35c99883"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-03-27T00:40:25.958943897+08:00"
    }
}

更多版本

mcr.microsoft.com/devcontainers/typescript-node:24-trixie

linux/amd64 mcr.microsoft.com1.86GB2025-11-06 09:50
311

mcr.microsoft.com/devcontainers/typescript-node:1-22-bookworm

linux/amd64 mcr.microsoft.com1.72GB2026-02-03 14:40
252

mcr.microsoft.com/devcontainers/typescript-node:4.0.7-24-trixie

linux/amd64 mcr.microsoft.com1.82GB2026-03-21 10:53
64

mcr.microsoft.com/devcontainers/typescript-node:22-bookworm

linux/arm64 mcr.microsoft.com1.81GB2026-03-27 00:41
9