Angularjs 带docker的angular应用程序-生产和维护;发展
我有一个简单的AngularJS应用程序。后端可以像服务(外部api)一样处理,因此根本不需要服务器端。我想在docker上运行它,但是,我不确定这里的最佳实践是什么。 我希望实现以下目标:Angularjs 带docker的angular应用程序-生产和维护;发展,angularjs,node.js,nginx,docker,docker-compose,Angularjs,Node.js,Nginx,Docker,Docker Compose,我有一个简单的AngularJS应用程序。后端可以像服务(外部api)一样处理,因此根本不需要服务器端。我想在docker上运行它,但是,我不确定这里的最佳实践是什么。 我希望实现以下目标: docker应该能够运行我在本地使用nodejs所做的一切—使用webpack/grunt/gulp,而无需在我的本地机器上安装任何东西+确保每个团队成员都在使用相同版本的基本内容 docker应该能够轻松部署到生产环境中,并尽可能轻松地运行(只是静态内容!) 真正的问题是,据我所知,dev 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
根据你的想法,这只是一种方法,我也使用这种方法。您只需创建一次该设置。如果合适,您还可以应用其他项目。为什么我实际上需要bash文件?所以我们得到了2个dockerfiles-我们可以相应地使用它们。例如,在本地使用一个不错的docker composer来使用dev-one,在jenkins中使用另一个(也可能有一个不同的预制docker compose)。我甚至可以说生产文件(dockerfile和docker compose文件)可以由构建/部署计算机动态创建,开发人员永远不会知道它们。你觉得怎么样?@BenYitzhaki我还没有用docker作曲。所以,如果您知道通过docker compose.yml文件进行操作就足够了,当然您可以使用这种方式,在这种情况下,bash脚本并不是必须的。