【问题标题】:Dockerizing any Angular SPA app that runs in node对在节点中运行的任何 Angular SPA 应用程序进行 Dockerizing
【发布时间】:2017-09-25 19:47:37
【问题描述】:

有很多 Angular 2+ 模板(例如 http://coreui.io/)在 Node 中运行良好,只需:

npm install
npm start

但是,让它们在 Docker 容器中运行是一项挑战。我尝试了创建dockerfile 的标准方法,但这不起作用

是否应该有一种简单的方法来对在 Node 上运行的任何应用进行 docker 化?

我错过了什么?

这就是我的 dockerfile 的样子(由yo docker 生成):

    FROM node:latest
    WORKDIR /src
    EXPOSE 4200
    ENTRYPOINT ["npm", "start"]
    COPY . /src
    RUN npm install

【问题讨论】:

  • 你使用的模板
  • 创建dockerfile时遇到什么错误
  • docker 没有返回任何错误
  • 那么它是否创建了dockerfile
  • 发布您的 dockerfile 并描述您遇到的情况。 “不起作用”不够具体。

标签: node.js angular docker


【解决方案1】:

我建议的第一件事是,不要使用node:latest。您通常运行什么版本的节点?指定那个版本。

您可能需要创建/src 文件夹

您还应该将ENTRYPOINT 更改为CMD

FROM node:7.9
RUN mkdir /src
WORKDIR /src

# cache the node modules for faster re-builds
COPY ./package.json /src
RUN npm install

COPY . /src

EXPOSE 4200
CMD ["npm", "start"]

这应该涵盖最基本的节点应用程序。


不过,事情确实会很快变得复杂。如果你需要更多关于构建一个合适的 dockerfile 的信息,我有一个完整的关于 docker 的 nodejs 课程:https://sub.watchmecode.net/guides/build-node-apps-in-docker/

【讨论】:

  • 谢谢 Derick,很荣幸。自从骨干木偶以来一直在读你的东西:)
猜你喜欢
  • 2017-09-02
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
  • 2019-11-03
  • 2019-10-04
  • 1970-01-01
相关资源
最近更新 更多