我正在尝试为我的 node.js api 构建映像,但在理解 yml 的设置方面仍然存在一些问题

I am trying to build a image for my node.js api, but a few problems left in understanding the setence of yml

提问人:HorusLiang 提问时间:11/16/2023 更新时间:11/16/2023 访问量:25

问:

FROM node:18.9.1
WORKDIR /app
COPY package.json ./
COPY yarn.lock ./
RUN yarn install
COPY . .
EXPOSE 4000
CMD ["yarn", "start"]

第一个问题,如何理解 yarn.lock 的效果,没有它就无法成功运行?yarn install

其次,如果运行成功,那么docker workdir里面会有一个名为“node_modules”的文件夹,然后会将node_modules本地复制到docker的workdir中,会有一个confilt,如果我理解的话对吗?yarn installcopy . .

节点.js docker yaml

评论

0赞 David Maze 11/16/2023
请一次只问一个问题;另请参阅 SO 帮助中心中的如何提问。您应该使用文件从 Docker 构建上下文中排除您的目录,就像在 COPY 中使用 docker 但带有 exclusion 一样。node_modules.dockerignore

答:

0赞 Muhamed Fazeel 11/16/2023 #1

关于第一个问题,我很无助,因为我没有意识到。

关于第二个,您应该包括 node_modules、日志(如果您的应用程序中存在)、IDE 相关文件夹、自述文件、.git 和 .gitignore 类型的文件

.dockerignore

文件。