閱讀156 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署》——1.3 探究容器

本節書摘來自異步社區《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署》一書中的第1章,第1.3節,作者: 【美】Christopher Negus(克裏斯托弗•尼格斯)著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看

1.3 探究容器

由於圍繞Docker和容器的開發節奏很快,現在任何書籍所能做的最好的就是將你帶到一條正確的路上。本書中,這就意味著一開始會給出一套靠譜示例來說明當前Docker和精選的一組支持工具是如何工作的。之後,這條大路就會展示位於地平線上的新特性和新工具。

無論你是想使用和管理容器,還是擔負容器開發的任務,本書會讓你以所有人都需要的一些事情起步,包括以下幾項。

搭建Docker:許多完整的Linux係統和一些麵向容器的特定Linux係統上都可以使用Docker。因此,本書開始部分的說明會幫你選擇一個或多個這樣的係統並展示如何啟動Docker服務。
搭建Docker registry:Docker把容器鏡像保存在registry中並使鏡像可以被拉取(下載)到運行Docker的係統中。因此,你可以學習如何創建自己的私有Docker registry並用它保存自己的容器鏡像。
如果你想要使用和管理容器,我會為你介紹不同的方法來使用:

普通的單個容器;
一組容器(使用Kubernetes和其他工具來管理它們)。
無論你是創建容器化應用還是隻運行容器化應用,它都有助於理解將底層操作係統特性提供給容器的方法。你應該了解的用來支持容器的操作係統的輔助特性包括以下幾個。

宿主機權限:設計上限製了容器可以操縱宿主機的範圍。開放宿主機權限能讓容器直接訪問宿主機係統的特性,如宿主機的進程表、設備、特定的CPU以及IPC命名空間。本書稍後會用Fedora Atomic Host演示那些專為訪問和修改宿主機係統而設計的容器(被稱為超級特權容器)。
存儲:你可以在Docker容器中使用掛載來連接宿主機的存儲空間,而不是將數據保存在容器中。
網絡:有特殊的規則和選項來從容器內管理宿主機的網絡接口。
作為軟件開發人員,容器既限製了你也讓你得以自由。你有能力確保你的應用程序的所有文件都以一種立即可以運行的形式與容器打包在一起。但新的挑戰浮現出來,這些挑戰要求你重新思考應對下列事項的開發方式。

高效地處理容器層;
通過測試、開發和生產階段指引軟件增強;
在多個容器間劃分服務;
在運行時環境中部署、啟動和停止容器;
處理你的應用程序所需要的宿主機係統的輔助服務。
Docker有許多強大的特性並且當前可以很好地構建和運行單個容器。但Docker周圍的世界並非停滯不前。甚至此時,數以百計的人們每天都在努力擴展用Docker所能完成的工作。

相當數量的工具即將出現,用以支持企業級容器的開發和部署。同樣地,人們在不斷地創造聰明的容器,並將這些容器以及用於構建這些容器的Dockerfile提供給想要使用和擴展它們的人。為了幫你采取超出本書範圍的下一步措施,最後兩章描述了以下內容。

更多容器化工具:如此眾多的工具被開發出來使用Docker容器,以至於很難搞清全部這些工具。這一章描述了那些你將很快就能用於Docker容器的新興工具。
容器鏡像的示例:為了說明人們使用Docker的創造性方式,我用了整整一章來展示那些已經開放出來讓你嚐試的很酷的容器。
緊跟著最後一章專門用來幫你評估哪些現存的和即將推出的工具在你力圖使用容器擴展自己的道路時對你最為有用。它梳理了當今這些工具能夠幫你做什麼,以及它們正如何發展以便明天為你服務。

最後更新:2017-05-31 16:31:25

  上一篇:go  《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署》——1.4 小結
  下一篇:go  《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic構建和部署》——1.2 了解容器的組成