Docker相關概念

xuchaoi發表於2018-03-31

一.概念

雲端計算:是一種資源的服務模式,該模式可以實現隨時隨地,便捷按需地從可配置計算資源共享池中獲取所需的資源(如網路、伺服器、儲存、應用及服務),資源能夠快速供應並釋放,大大減少了資源管理工作的開銷。

 

經典雲端計算框架:包括IaaS(Infrastructure as a Service,基礎設施即服務;為基礎設施運維人員服務,提供計算、儲存、網路及其他基礎資源)、PaaS(Platform as a Service,平臺即服務;為應用開發人員服務,提供支撐應用執行所需的軟體執行環境、相關工具與服務)、SaaS(Software as a Service,軟體即服務;為一般使用者服務,提供了一套完整可用的軟體系統)。

 

Docker:以Docker容器為資源分割和排程的基本單位,分裝整個軟體執行時的環境,為開發者和系統管理員設計的,用於構建、釋出和執行分散式應用的平臺。它是一個跨平臺、可移植並且簡單易用的容器解決方案。Docker的原始碼託管於Github上,基於Go語言開發並遵從Apache 2.0協議。Docker可在容器內部快速自動化地部署應用,並通過作業系統核心技術(namespace、cgroups等)為容器提供資源隔離與安全保障。

 

容器技術的優點

1.持續部署與測試。容器消除了線上線下的環境差異,保證了應用生命週期的環境一致性和標準化。開發人員使用映象實現標準開發環境的構建,開發完成後通過封裝著完整環境和應用的映象進行遷移。測試和運維可以通過質檢部署軟體映象來進行測試和釋出。

2.跨雲平臺支援。容器具有其適配性,越來越多的雲平臺都支援容器,使用者無需再擔心受到雲平臺的捆綁,同時也讓多平臺混合部署成為可能。

3.環境標準化和版本控制。我們可以使用Git等工具對容器映象進行版本控制,你甚至可以對整個應用執行環境實現版本控制,一旦出現故障可以快速回滾。相比於以往的虛擬機器映象,容器壓縮和備份的速度更快,映象啟動就如啟動一個普通程式一樣快速。

4.高資源利用率與隔離。容器沒有管理程式的額外開銷,與底層共享作業系統,效能更加優良,系統負載更低,在同等條件下可以執行更多的應用例項,可以更充分地利用系統資源。同時可以精準地對應用分配CPU、記憶體等資源,保證應用間不會相互影響。

5.容器跨平臺性與映象。容器有一套標準化的配置方法。將應用及其依賴環境打包成映象,真正實現了“構建一次,到處執行”的理念。

6.易於理解且易用。一個開發者可以在15分鐘之內入門Docker並進行安裝和部署。

7.應用映象庫。Docker官方構建了一個映象倉庫,組織和管理形式類似於GitHub,其上已累積了成千上萬的映象。

 

容器雲:以容器為資源分割和排程的基本單位,封裝整個軟體執行時環境,為開發者和系統管理員提供用於構建、釋出和執行分散式應用的平臺。容器雲不僅限於Docker,基於rkt容器的CoreOS專案也是容器雲。谷歌的kubernetes就是基於Docker技術構建的容器雲。

相關文章