docker工人的angular度应用程序 – 生产和发展

我有一个简单的AngularJS应用程序。 后端可以像一个服务(外部API)对待,所以根本不需要服务器端。 我想运行在docker上,但是,我不知道这里最好的做法是什么。 我期望达到的是以下几点:

  1. Docker应该能够运行我在本地使用nodejs进行的所有操作 – 使用webpack / grunt / gulp,而不需要在本地机器上安装任何东西。确保每个团队成员都在基本上所有的相同版本上工作。
  2. docker工人应该能够轻松地部署到生产环境中,并尽可能轻松地运行(它只是静态内容!)

真正的问题是,据我所知,开发的docker应该基于nodejs与安装量和一切..但是,生产docker应该是超级简单的nginx服务器,提供静态内容。 所以我可能会得到一个2个独立的docker使用相同的代码库。 不知道这是否正确的路要走..

任何人都可以在这个话题上谈一谈? 谢谢

你的想法似乎没问题。 我通常创建一个bash脚本(对我来说足够灵活),根据需求(dev&prod)部署不同的环境。

假定创建了一个bash脚本deployApp.sh

sh deployApp.sh `{dev or prod}` 

因此,您也可以根据自己的环境即时创建(或切换)Dockerfile,并使用此Dockerfile构建您的应用程序。 所以你可以管理你的prod环境需求(只有用webpack创建的包才能部署到nginx等)你需要什么。

有关创建deployApp.sh的示例:

 webpack `{if other required parameters here}` #created bundle.js etc. #After webpack operations , choose Dockerfile for prod or dev : #./prod/Dockerfile , ./dev/Dockerfile #check if first parameter is prod or dev docker build -f ./prod/Dockerfile #this will build nginx based container #and copy needed files&folders 

根据你的想法,这只是一种方法,我也是这样使用的。 您只需创建一次该设置。 你也可以申请另一个项目如果是合适的。