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


《Docker生產環境實踐指南》——第1章 入門 1.1 術語

本節書摘來自異步社區《Docker生產環境實踐指南》一書中的第1章,第1.1節,作者: 【美】Joe Johnston(喬•約翰斯頓)著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看

第1章 入門

建立Docker生產環境係統的首要任務,是以一個有助於想象各組件如何相互配合的方式來理解其術語。與其他快速發展的技術生態係統一樣,我們可以預見,Docker野心勃勃的市場營銷、不完善的文檔以及過時的博客文章將造成使用者對各個工具職責理解上的混亂。

我們將在本章中定義貫穿全書的術語和概念,而非提供一份統一的Docker百科全書。通常情況下,我們的定義與生態係統中的大體一致,但如果你所閱讀的博客文章中使用了不同的術語也不用太過驚訝。

在本章中,我們將介紹在生產環境中運行Docker的核心概念以及不涉及具體技術的容器常識。在隨後的章節中,我們將討論真實世界的生產環境用例,並詳細說明其組件和供應商信息。

1.1 術語

下麵讓我們來看一下本書所采用的Docker術語。

1.1.1 鏡像與容器
鏡像是指文件係統快照或tar包。
容器是指鏡像的運行態。
1.1.2 容器與虛擬機
虛擬機持有整個操作係統和應用程序的快照。
虛擬機運行著自己的內核。
虛擬機可以運行Linux之外的其他操作係統。
容器隻持有應用程序,不過應用程序的概念可以延伸到整個Linux發行版。
容器共享宿主機的內核。
容器隻能運行Linux,不過在同一宿主機上運行的每個容器都可包含不同的發行版。
1.1.3 持續集成/持續交付
在應用程序新代碼提交或觸發其他條件時,係統自動構建新鏡像並進行部署。

1.1.4 宿主機管理
設置/配備一台物理服務器或虛擬機以便用於運行Docker容器的過程。

1.1.5 編排
編排(orchestration,也稱編配)這個術語在Docker生態係統中有多種含義。通常情況下,它包括調度和集群管理,不過有時也包括了宿主機管理。

在本書中,我們將編排作為一個鬆散的總稱,包括容器調度的過程、集群的管理、容器的鏈接(發現),以及網絡流量路由。或者換句話說,編排是個控製器進程,用於決定在哪裏運行容器,以及如何讓集群知道可用的服務。

1.1.6 調度
調度用於決定哪些容器可以以給定的資源約束(如CPU、內存和IO)運行在哪些宿主機上。

1.1.7 發現
容器如何公開服務給集群,以及發現如何查找其他服務並與之通信的過程。舉個簡單的用例:一個網站應用容器發現如何連接到數據庫服務。

Docker文檔中的發現是指將容器鏈接在一起,不過在生產級係統中,通常使用的是更複雜的發現機製。

1.1.8 配置管理
配置管理過去常常指的是Docker出現之前的自動化工具,如Chef和Puppet。大多數的DevOps團隊正在轉移到Docker上,以消除這類配置管理係統的複雜度。

在本書的示例中,配置管理工具隻用於配備具有Docker和少量其他東西的宿主機。

最後更新:2017-06-01 11:31:43

  上一篇:go  《Docker生產環境實踐指南》——1.2 從開發環境到生產環境
  下一篇:go  為你的 Linux 服務器加把鎖