天天看點

把使用者應用程式遷往Docker容器

步驟1:分解

一般來說,應用程式都是複雜的,它們都有很多的元件。例如,大多數應用程式都需要資料庫或中間件服務的支援以實作對資料的存儲、檢索和內建。是以,需要通過設計和部署把這些服務拆分成為它們自己的容器。如果一個應用程式能夠被拆分成為越多的分布式元件,那麼應用程式擴充的選擇則越多。但是,分布式元件越多也意味着管理的複雜性越高。

步驟2:選擇一個基礎映像

當執行應用程式遷移時,應盡量避免推倒重來的做法。搜尋Docker注冊庫找到一個基本的Docker映像并将其作為應用程式的基礎來使用。

随着時間的推移,企業将會發現這些Docker注冊庫中基本映像的價值所在。請記住,Docker支援着一個Docker開發人員社群,是以項目的成功與否很大程度上取決于使用者對于映像管理和改良的參與度。

步驟3:解決安全性和管理問題

安全性和管理應當是一個高優先級的考慮因素;企業使用者不應再把它們當作應用程式遷移至容器的最後一步。反之,企業必須從一開始就做好安全性和管理的規劃,把它們的功能納入應用程式的開發過程中,并在應用程式運作過程中積極主動地關注這些方面。這就是企業應當花大功夫的地方。

基于容器的應用程式是分布式應用程式。企業應當更新較老的應用程式以支援聯合身份管理方法,這将非常有利于確定分布式應用程式的安全性。為了做到這一點,應為每一個應用程式元件和資料提供一個唯一的辨別符,這個辨別符可允許企業在一個細粒度的級别上進行安全性管理。企業使用者還應當增加一個日志記錄的方法。

步驟4:增加代碼

為了建立映像,企業使用者需要使用一個Dockerfile來定義映像開發的必要步驟。一旦建立了映像,企業使用者就應将其添加至Docker Hub。

步驟5:配置、測試、部署

應對在容器中運作的應用程式進行配置,以便于讓應用程式知道可以在哪裡連接配接外部資源或者應用程式叢集中的其他容器。企業使用者可以把這些配置部署在容器中或使用環境變量。

對基于容器的應用程式進行測試類似于對其他分布式應用程式的測試。企業可以對每個容器進行元件測試,并将容器叢集作為一個整體進行測試。 确定應用程式應如何能夠在負載增加的情況下進行擴充。如果使用者正在使用一個叢集管理器(例如Swarm),則可測試其性能。

最後,把容器部署到實際生産環境中。為了積極主動地關注基于容器的應用程式的運作狀況,可考慮實施必要的監控和管理機制 。確定打開日志記錄功能。

很多應用程式遷移至雲計算都是采用容器技術的。雖然遷移有一點複雜,但是容器可以保護應用程式投資并賦予了它一個更長的使用壽命。

作者:fuchao

連結:http://www.jianshu.com/p/3d1ac09eb287

來源:簡書

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/1968047,如需轉載請自行聯系原作者