Docker里跑Node项目,为什么npm install后node_modules还是空的?

士轩 ☘︎ 阅读 5

我在本地用Docker构建Node环境,Dockerfile里写了COPY package*.json ./然后RUN npm install,build完镜像也成功了,但一运行容器发现node_modules目录是空的,根本没装依赖。我试过把整个项目拷进去再install,结果一样,这是啥情况?

我的Dockerfile关键部分如下:

FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
W″会娟
你用了Docker的volume挂载把本地目录覆盖了容器里的/app目录。检查下docker run命令是不是有-v参数,删掉或者改挂载路径就行。或者用这个命令确认下:

docker run -it --rm 你的镜像名 ls -la /app


如果看到node_modules就说明build时确实装好了,问题出在运行时被覆盖了。
点赞
2026-03-06 12:00