簡體   English   中英

與docker的角度app - 生產和發展

[英]angular app with docker - production & development

我有一個簡單的AngularJS應用程序。 后端可以像服務(外部api)一樣對待,因此根本不需要服務器端。 我想在碼頭上運行它,但是,我不確定這里的最佳做法是什么。 我期望實現的目標如下:

  1. docker應該能夠運行我在本地使用nodejs做的一切 - 使用webpack / grunt / gulp而不需要在我的本地機器上安裝任何東西+確保每個團隊成員都在使用相同版本的基本上所有東西。
  2. docker應該能夠輕松地部署到生產環境並盡可能輕松地運行(它只是靜態內容!)

真正的問題是,據我所知,dev docker應該基於具有已安裝卷和所有內容的nodejs。但是,生產docker應該是提供靜態內容的超級簡單的nginx服務器。 所以我最終會得到一個使用相同代碼庫的2個獨立碼頭工具。 不確定這是否是正確的方法..

任何人都可以對這個話題有所了解嗎? 謝謝

你的想法似乎沒問題。 我通常創建一個bash腳本(對我而言足夠靈活),根據需求(dev和prod)部署不同的環境。

假設創建了一個bash腳本deployApp.sh

sh deployApp.sh `{dev or prod}`

因此,您還可以根據您的環境動態創建(或切換)Dockerfile,並使用此Dockerfile構建您的應用程序。 因此,您可以分別管理您的產品環境要求(僅使用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

根據你的想法,這只是一種方法,我也喜歡這種方法。 您只需創建一次該設置。 如果合適,您還可以申請其他項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM