gpt4 book ai didi

node.js - 当 NODE_ENV=production 时,Gulp 构建到 Docker 容器中

转载 作者:IT老高 更新时间:2023-10-28 21:33:59 25 4
gpt4 key购买 nike

我有一个托管 NodeJS Web 应用程序的 Docker 容器

这个 docker 容器有环境变量 NODE_ENV=production

当我运行容器时,npm install 会跳过 package.json 文件中的所有 devDependencies

我想到了 3 种不同的解决方案,但没有一个看起来不错

  1. build 存储在我的 CVS 上
  2. 在 docker 之外构建
  3. 将所有 devDependencies 移至依赖项

选择 1 在 CVS 上存储,看起来很愚蠢

选择 2 需要安装 NodeJS、npm、gulp 和许多其他库

选择 3 看起来最好

但我对任何其他建议感兴趣

最佳答案

这种情况的另一种解决方案是将 NODE_ENV 作为构建参数传递:

docker build --build-arg NODE=development --rm -t some/name  .

对于遇到将 NODE_ENV 作为构建参数传递的问题的任何人...尝试将其作为 NODE(如上所述)或其他名称传递。在您的 Dockerfile 中,您可以像这样使用它:

ARG NODE=production
ENV NODE_ENV ${NODE}
RUN npm start

注意,在上面的代码中,production 是默认值,但您可以使用 --build-arg NODE=development 覆盖它。

关于node.js - 当 NODE_ENV=production 时,Gulp 构建到 Docker 容器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com