
⚠️ 本镜像为https://github.com/mhart/alpine-node%E7%9A%84%E5%88%86%E6%94%AF%EF%BC%8C%E5%8E%9F%E9%A1%B9%E7%9B%AE%E5%B7%B2%E5%81%9C%E6%AD%A2%E5%BC%80%E5%8F%91%E3%80%82
jellydn/alpine-nodejs是基于Alpine Linux构建的最小化Node.js Docker镜像,支持多个稳定的Node.js版本,提供完整安装版(包含npm和yarn)和精简版(无npm和yarn)两种类型,旨在为Node.js应用提供轻量级的容器环境。
所有版本均使用同一仓库jellydn/alpine-nodejs,通过不同标签区分。以下为可用标签及对应解压后体积(压缩后体积约为解压大小的1/3):
20, 20.1, 20.1.0:63.51 MB(npm 9,yarn 1.22.10)latest, 18, 18.16, 18.16.0:62.02 MB(npm 8,yarn 1.22.10)16, 16.20, 16.20.0:55.89 MB(npm 7,yarn 1.22.10)14, 14.21, 14.21.3:59.32 MB(npm 6,yarn 1.22.10)slim-20, slim-20.1, slim-20.1.0:70.62 MBslim, slim-18, slim-18.16, slim-18.16.0:65.49 MBslim-16, slim-16.20, slim-16.20.0:63.04 MBslim-14, slim-14.21, slim-14.21.3:58.21 MBconsole# 运行Node.js 20版本 $ docker run --rm jellydn/alpine-nodejs:20 node --version v20.1.0 # 运行默认版本(Node.js 18) $ docker run --rm jellydn/alpine-nodejs node --version v18.16.0 # 运行Node.js 14版本 $ docker run --rm jellydn/alpine-nodejs:14 node --version v14.21.3 # 运行精简版Node.js 16 $ docker run --rm jellydn/alpine-nodejs:slim-16 node --version v16.20.0
多阶段构建(推荐)
通过多阶段构建,使用完整版镜像安装依赖,再使用精简版镜像运行应用,可显著减小最终镜像体积:
Dockerfile# 阶段1:安装依赖 FROM jellydn/alpine-nodejs:14 WORKDIR /app COPY package.json package-lock.json ./ # 如有原生依赖,需安装额外工具 # RUN apk add --no-cache make gcc g++ python3 RUN npm ci --prod # 阶段2:构建应用镜像 FROM jellydn/alpine-nodejs:slim-14 # 建议使用`docker run --init`运行容器,或安装tini # RUN apk add --no-cache tini # ENTRYPOINT ["/sbin/tini", "--"] WORKDIR /app COPY --from=0 /app . COPY . . CMD ["node", "index.js"]
单阶段构建
若不使用多阶段构建,可直接使用完整版镜像:
DockerfileFROM jellydn/alpine-nodejs:14 # 建议使用`docker run --init`运行容器,或安装tini # RUN apk add --no-cache tini # ENTRYPOINT ["/sbin/tini", "--"] WORKDIR /app COPY . . # 如有原生依赖,需安装额外工具 # RUN apk add --no-cache make gcc g++ python3 RUN npm ci --prod CMD ["node", "index.js"]
sh# 进入对应Node.js版本目录(node14/node16/node18/node20) cd node14 # 构建完整版镜像 sh build.sh # 构建精简版镜像 sh build-slim.sh # 发布镜像 sh publish.sh # 构建工具镜像 sh build-tools.sh # 再次发布 sh publish.sh
Alpine Linux使用musl libc而非glibc,可能导致部分依赖glibc的二进制文件无法运行。常见问题及解决方法:
error loading shared library ld-linux-x86-64.so.2的错误,说明依赖需要libc,可尝试:
Dockerfile# 方法1:安装libc6-compat RUN apk add --no-cache libc6-compat # 方法2:创建符号链接 RUN ln -s /lib/libc.musl-x86_64.so.1 /lib/ld-linux-x86-64.so.2
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务