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

Node.js+TypeScript API本地正常运行,Docker容器启动后立即退出

容器启动后立即退出的原因及解决办法

核心问题:CMD指令参数格式错误

你在Dockerfile中使用的数组形式CMD存在参数拆分错误:

# 错误写法
CMD [ "node", "--experimental-specifier-resolution=node", "--loader", "ts-node/esm src/app.ts" ]

在数组格式的CMD中,每个命令参数必须作为独立的数组元素。上述写法会把ts-node/esm src/app.ts整体当作--loader的参数,Node.js无法识别这个不存在的loader模块,导致进程直接终止(状态码0是Node正常终止错误执行的表现)。

修正后的CMD指令

将参数正确拆分,把src/app.ts作为单独的命令参数:

CMD [ "node", "--experimental-specifier-resolution=node", "--loader", "ts-node/esm", "src/app.ts" ]

额外检查点

  • 确保容器内依赖安装完整:npm install需要在容器内正常完成,因为你直接用ts-node运行TS文件,容器中必须存在ts-node及相关依赖。如果是生产环境,建议先将TS编译为JS再构建镜像,避免依赖开发工具。
  • 确认应用监听地址:确保API代码中监听的是0.0.0.0而非localhost,否则容器外部无法访问(虽然这不会导致容器退出,但也是Docker化的常见注意事项)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:30:56