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

Ubuntu 22.04下Docker运行Node.js镜像报错:找不到/app/app.js模块

解决Docker运行Node.js应用提示找不到/app/app.js的问题

核心问题:构建镜像时未指定上下文路径

你的docker build命令缺少了上下文路径参数(最后的.),导致Docker无法读取当前目录下的app.js和Dockerfile,最终容器内的/app目录是空的,所以Node.js找不到文件。

修复步骤

  1. 切换到项目目录:
cd /var/www/hello-docker
  1. 重新构建镜像,确保命令末尾加上.(表示使用当前目录作为构建上下文):
sudo docker build -t hello-docker .
  1. 再次运行容器:
sudo docker run hello-docker

额外排查点(如果上述步骤无效)

  • 检查项目目录下的文件是否存在:
ls /var/www/hello-docker

确认输出包含app.js和Dockerfile。

  • 检查镜像内的文件是否被正确复制:
    先启动一个临时容器查看内容:
sudo docker run --rm -it hello-docker ls /app

如果输出里没有app.js,说明构建时确实没复制成功,再检查构建命令的上下文路径。

  • 权限问题:如果上述操作仍无效,可以尝试修改Dockerfile添加权限设置:
FROM node:alpine
COPY . /app
WORKDIR /app
# 确保node用户有权限访问文件
RUN chown -R node:node /app
USER node
CMD node app.js

然后重新构建运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:45:35