
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
mhart/alpine-node是基于https://alpinelinux.org/构建的最小化Node.js Docker镜像,支持多个Node.js版本(v16.4.2、v14.17.3、v12.22.3、v10.24.1、v8.17.0、v6.17.1、v4.9.1、v0.12.18和v0.10.48)。所有版本使用同一仓库,但通过不同标签区分,适用于构建轻量级Node.js应用,显著减少镜像体积。
以下为Docker报告的未压缩镜像大小(压缩后约为1/3):
完整安装版(含npm和yarn):
latest, 16, 16.4, 16.4.2 – 108 MB(npm 7.19.1,yarn 1.22.10)14, 14.17, 14.17.3 – 109 MB(npm 6.14.13,yarn 1.22.10)12, 12.22, 12.22.3 – 80.4 MB(npm 6.14.13,yarn 1.22.10)10, 10.24, 10.24.1 – 73.1 MB(npm 6.14.12,yarn 1.22.10)8, 8.17, 8.17.0 – 67.8 MB(npm 6.14.11,yarn 1.22.10)完整安装版(仅含npm):
6, 6.17, 6.17.1 – 49 MB(npm 3.10.10)4, 4.9, 4.9.1 – 35.2 MB(npm 2.15.12)0.12, 0.12.18 – 32.4 MB(npm 2.15.12)0.10, 0.10.48 – 27.8 MB(npm 2.15.12)精简版(不含npm或yarn):
slim, slim-16, slim-16.4, slim-16.4.2 – 78.1 MBslim-14, slim-14.17, slim-14.17.3 – 73.9 MBslim-12, slim-12.22, slim-12.22.3 – 46.9 MBslim-10, slim-10.24, slim-10.24.1 – 41.3 MBslim-8, slim-8.17, slim-8.17.0 – 37.2 MBslim-6, slim-6.17, slim-6.17.1 – 32.5 MBconsole# 检查Node.js版本 $ docker run --rm mhart/alpine-node:14 node --version v14.17.3 $ docker run --rm mhart/alpine-node:12 node --version v12.22.3 # 检查npm版本 $ docker run --rm mhart/alpine-node:14 npm --version 6.14.13 # 检查yarn版本 $ docker run --rm mhart/alpine-node:14 yarn --version 1.22.10 # 使用精简版镜像 $ docker run --rm mhart/alpine-node:slim-14 node --version v14.17.3 $ docker run --rm mhart/alpine-node:slim-12 node --version v12.22.3
多阶段构建(推荐,最小化最终镜像体积)
先使用完整安装镜像安装依赖,再使用精简镜像运行应用,可减少约35MB体积。
Dockerfile# 阶段1:安装依赖 FROM docker.xuanyuan.run/mhart/alpine-node:12 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/mhart/alpine-node:slim-12 # 建议使用`docker run --init`运行容器,或使用tini: # RUN apk add --no-cache tini # ENTRYPOINT ["/sbin/tini", "--"] WORKDIR /app COPY --from=0 /app . # 复制阶段1安装的依赖 COPY . . # 复制应用代码 CMD ["node", "index.js"]
单阶段构建
直接在完整安装镜像上构建和运行应用:
DockerfileFROM docker.xuanyuan.run/mhart/alpine-node:12 # 建议使用`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"]
musl兼容性:Alpine Linux使用musl libc,可能与依赖glibc的环境存在兼容性问题。若需使用glibc编译的二进制文件,建议重新编译为musl版本。
libc依赖错误:若出现类似error loading shared library ld-linux-x86-64.so.2的错误,可能是依赖libc导致,可尝试以下解决方法:
DockerfileRUN apk add --no-cache libc6-compat # 或 RUN ln -s /lib/libc.musl-x86_64.so.1 /lib/ld-linux-x86-64.so.2
.dockerignore配置:构建时建议将node_modules添加到.dockerignore,避免不必要的文件传输到Docker守护进程。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务