在 Docker 化 Node js 应用程序时安装 node_modules 的方法

问题描述 投票:0回答:1
  • Dockerfile
    1:

    FROM node:latest
    WORKDIR /app
    COPY ..
    RUN npm install
    EXPOSE 3000
    CMD ["node", "index.js"]
    
  • Dockerfile
    2:

    FROM node:latest
    WORKDIR /app
    RUN npm install
    COPY ..
    EXPOSE 3000
    CMD ["node", "index.js"]
    

这两个 Dockerfile 有什么不同?当我构建 docker 文件时,除了

CMD
步骤之外的所有内容都会被执行,但是它们有什么不同?

node.js docker
1个回答
0
投票

Dockerfile 2
上,您设置了
WORKDIR
,并且没有任何内容,下一步是
RUN npm install
,它将在这个空目录中执行。

在这里进行猜测,但我相信您会感到困惑,因为您的项目本身位于

/app
文件夹内。但请记住容器的核心思想是隔离。容器有自己的文件系统,无论您选择哪个名称
WORKDIR
都不必匹配任何内容。

© www.soinside.com 2019 - 2024. All rights reserved.