You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js项目Docker构建报错:缺失ld-linux-x86-64.so.2共享库

解决Docker中Node.js项目加载onnxruntime-node共享库失败的问题

核心原因

你使用的Docker基础镜像大概率是Alpine Linux(默认采用musl libc),而onnxruntime-node编译依赖glibc环境,缺少glibc的动态链接器ld-linux-x86-64.so.2,导致共享库加载失败。

具体修复方案

方案1:改用基于glibc的Node.js镜像

将Dockerfile中的基础镜像从node:alpine替换为标准Node.js镜像(如node:18、node:20,这类镜像基于Debian/Ubuntu,自带完整glibc环境)。

示例修改后的Dockerfile片段:

# 替换原有的node:alpine镜像
FROM node:20

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install

COPY . .

CMD ["node", "your-app-entry.js"]

方案2:在Alpine镜像中安装glibc兼容层

如果坚持使用Alpine镜像,需手动安装glibc兼容组件:

FROM node:20-alpine

WORKDIR /usr/src/app

# 安装glibc兼容层
RUN apk add --no-cache curl \
    && curl -Ls https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk -o glibc.apk \
    && curl -Ls https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk -o glibc-bin.apk \
    && apk add --no-cache glibc.apk glibc-bin.apk \
    && rm -f glibc.apk glibc-bin.apk

COPY package*.json ./
RUN npm install

COPY . .

CMD ["node", "your-app-entry.js"]

额外验证步骤

  • 先删除本地缓存的依赖文件,避免干扰:
rm -rf node_modules package-lock.json
  • 执行强制重新构建命令,跳过镜像缓存:
docker-compose build --no-cache

内容的提问来源于stack exchange,提问作者aravind reghunath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 18:22:14