首页 > 解决方案 > 通过 nodejs 应用程序中的 dockerfile 排除目录

问题描述

我有一个 nodejs 应用程序,我确实用 docker 将它容器化了。这是我的 dockerfile :

FROM node:14.17.0-alpine
WORKDIR /nodejs
COPY src/* .
COPY app.js .
COPY package*.json /nodejs/
COPY . .
RUN npm install

CMD [ "node", "app.js" ]

如您所见,我正在复制所有内容,但我想排除 node_modules 文件夹。我应该在 dockerfile 中添加什么以告知忽略该目录?

更新 正如评论中提到的,我需要 .ignorefile 来排除 node_module forlder。我已经使用了这一行:

**/node_modules

在 .dockerignore 但没有用。

我的文件夹结构:

https://i.stack.imgur.com/A17PA.png

标签: node.jsdocker

解决方案


这就是 .dockerignore 文件的用途,您可以创建一个或按名称或目录复制特定文件夹。

更新:

获得更多信息后,很明显要忽略的文件夹的路径放错了位置,

代替

**/node_modules

node_modules

或者

./node_modules*

推荐阅读