如何做好生產環境和開發環境的隔離?使用者27193685194862019-09-22 11:01:41

Docker的優勢在於環境的隔離和複用。

比如你有10個應用要用到nginx,傳統的做法可能寫成1(10)個配置檔案,這樣如果這1(10)個配置檔案有個被修改出錯了,nginx就無法啟動了,你所有的應用都無法訪問了。

再比如你伺服器上裝了一個mysql程式,10個應用都是連線的它,但是有1個應用佔用較多的連線數或者在瘋狂消耗IO,那麼其它應用訪問資料庫的效能都會下降。

最後比如不同的java程式依賴不同的jdk,那麼這時候就要指定一堆的環境變數,安裝多個jdk。

容器就可以把以上內容封裝成相互對立的執行環境,避免相互影響。

複用就更好理解了,如果你在除錯docker容器的某個問題,不小心導致程式崩潰了,沒關係,利用映象重新啟動一個容器就恢復了。

又比如你要排查線上環境的一個問題,為了百分之百模擬環境,你可以直接把docker容器提交成映象,然後在本地開發環境上執行容器,隨意除錯。