容器技術是近幾年雲行業發展中不可缺少的壹環。Docker和k8s的大熱極大可能會推動雲計算PAAS層的完善和普及。
容器(Container)是壹種更輕量級,更靈活的虛擬化處理方式,它將壹個應用程序所需的壹切打包在壹起。
容器包括所有代碼,各種依賴甚至操作系統,這讓應用程序幾乎在任何地方都可以運行。因此它的誕生,解決了壹個重要問題:如何確保應用程序從壹個環境移動到另壹個環境的正確運行。它只是虛擬了操作系統,而不像虛擬機壹樣去虛擬底層計算機。
Docker 容器是壹個開源的應用容器引擎,讓開發者可以以統壹的方式打包他們的應用以及依賴包到壹個可移植的容器中,然後發布到任何安裝了docker引擎的服務器上(包括流行的Linux機器、windows機器),也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app)。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架包括系統。
定期滲透測試,安全審計;
盡量采用image的正規鏡像來源,相對於傳統安全,容器安全受質疑很大程度上是在於鏡像的維護及升級,因此在鏡像源頭保證安全和及時更新;
及時升級容器服務,比如采用rollingupdate的方式對跑服務的容器進行升級等方式。
Docker容器與其他的容器技術都是大致類似的。但是,Docker在壹個單壹的容器內捆綁了關鍵的應用程序組件,這也就讓這容器可以在不同平臺和雲計算之間實現便攜性。其結果就是,Docker就成為了需要實現跨多個不同環境運行的應用程序的理想容器技術選擇。
Docker還可以讓使用微服務的應用程序得益,所謂微服務就是把應用程序分解成為專門開發的更小服務。 這些服務使用通用的RESTAPI來進行交互。使用完全封裝Docker容器的開發人員可以針對采用微服務的應用程序開發出壹個更為高效的分發模式。