停靠在节点中运行的任何Angular SPA应用程序

时间:2017-04-27 20:40:35

标签: node.js angular docker

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

npm install
npm start

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

是否有一种简单的方法可以将任何在Node上运行的应用程序停靠?

我错过了什么?

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

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

1 个答案:

答案 0 :(得分: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的信息,我有一个关于nodejs的完整课程:https://sub.watchmecode.net/guides/build-node-apps-in-docker/