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

Linux虚拟机中Node.js Docker容器自定义脚本失效问题及解决

Node.js Docker容器在Linux环境启动失败的解决方法

问题概述

在Linux虚拟机中部署Node.js Docker容器时遇到两类异常:

  • 执行npm run start:prod启动容器时,报错npm ERR! Missing script: "start:prod",但调试阶段确认该脚本存在,且dist目录已生成main.js文件
  • 改为直接执行node dist/main.js启动时,又出现Error: Cannot find module '/usr/src/app/dist/main.js'
  • 相同配置在Windows环境可正常运行,尝试修改tsconfig.json、调整文件权限均未解决问题

解决措施

  1. 调整npm启动命令
    将ENTRYPOINT中的npm run替换为npm run-script,示例:
# 原命令
ENTRYPOINT ["npm", "run", "start:prod"]
# 修改后
ENTRYPOINT ["npm", "run-script", "start:prod"]
  1. 拆分COPY指令
    把Dockerfile中宽泛的COPY . .拆分为多个精准的拷贝命令,避免Linux下的路径规则或隐藏文件干扰:
# 替换原有的 COPY . .
COPY *.json ./
COPY *.js ./
COPY ./src ./src
COPY ./test ./test

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:46:00