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

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

npm install npm start 

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

是否应该有一个简单的方法来docker在Node上运行的应用程序?

我错过了什么?

这是我的dockerfile看起来像(由yo docker生成):

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

首先我会build议,不要使用node:latest 。 你通常运行什么版本的节点? 指定该版本。

你可能需要创build/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"] 

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


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