我有一个简单的AngularJS应用程序。后端可以像服务(外部api)一样对待,因此根本不需要服务器端。我想在码头上运行它,但是,我不确定这里的最佳做法是什么。 我期望实现的目标如下:
真正的问题是,据我所知,dev docker应该基于具有已安装卷和所有内容的nodejs。但是,生产docker应该是提供静态内容的超级简单的nginx服务器。所以我最终会得到一个使用相同代码库的2个独立码头工具。不确定这是不是正确的方法..
任何人都可以对这个话题有所了解吗?感谢
答案 0 :(得分:1)
你的想法似乎没问题。我通常创建一个bash脚本(对我而言足够灵活),根据需求(dev& prod)部署不同的环境。
假设创建了一个bash脚本deployApp.sh
sh deployApp.sh `{dev or prod}`
因此,您还可以根据您的环境动态创建(或切换)Dockerfile,并使用此Dockerfile构建您的应用程序。因此,您可以分别管理您的产品环境要求(仅使用webpack&n;创建的捆绑包等部署到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
根据你的想法,这只是一种方法,我也喜欢这种方法。您只需创建一次该设置。如果合适,您还可以申请其他项目。