
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
⚠️ 本镜像为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是基于https://alpinelinux.org/%E6%9E%84%E5%BB%BA%E7%9A%84%E6%9C%80%E5%B0%8F%E5%8C%96Node.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 docker.xuanyuan.run/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 docker.xuanyuan.run/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 docker.xuanyuan.run/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
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务