云計算的主流容器平臺Docker架構分析
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發?
布到任何流行的 Linux 機器上,也可以實現虛擬化。
Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從 Apache2.0 協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發
布到任何流行的 Linux 機器上,也可以實現虛擬化。
首先我們先了解一下什么是容器。如果需要通俗的描述容器的話,我覺得容器就是一個存放東西的地方,就像書包可以裝各種文具、衣柜可以放各種衣服、鞋架可以放各種鞋子一樣。我們現在所說的容器存放的東西可能更偏向于應用比如網站、程序甚至是系統環境。
假如以現實舉例,真實的物理機相當于一棟樓的一戶人家有獨立花園有獨立地基,虛擬機相當于一棟樓包含多套房,一套房一戶人家,共享地基,共享花園但有獨立衛生間、廚房和寬帶,容器相當于一套房隔成多個小隔間,每個小隔間住一個租戶,共享花園、地基還共享衛生間、廚房和寬帶。
在傳統的部署模式下,如果有非常多的服務器,運維工程師需要在每一臺服務器上進行相當復雜的操作才能夠完成部署。安裝->配置->部署。但是Docker的出現顛覆了這種傳統的模式。
因為Docker鏡像包含了所有的環境依賴關系,可以保證開發與生產環境一致,對于開發和運維工作,Docker技術可以讓開發和運維豁免很多預想之外的工作和相互推脫。此外,容器可以重復運行在任何地方,簡單化了運維人員的工作 。
Docker的這種在安全、可重復的環境中可移植,跨平臺的快速部署軟件的方式也方便做持續集成,所以說Docker出現拉開了基于云計算平臺發布產品方式的變革序幕,是運維人員的解放,廣受開發者和運維人員的歡迎。

目前主流的云服務器平臺亞馬遜AWS、微軟Azure 、阿里云、騰訊云都支持Docker容器服務。?
Docker 包括三個基本概念:
鏡像(Image):Docker 鏡像(Image),就相當于是一個 root 文件系統。比如官方鏡像?ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 文件系統。
容器(Container):鏡像(Image)和容器(Container)的關系,就像是面向對象程序設?計中的類和實例一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟?動、停止、刪除、暫停等。
倉庫(Repository):倉庫可看著一個代碼控制中心,用來保存鏡像。
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。
Docker 容器通過 Docker 鏡像來創建。
容器與鏡像的關系類似于面向對象編程中的對象與類。

Docker 鏡像(Images)
Docker 鏡像是用于創建 Docker 容器的模板,比如 Ubuntu 系統。
Docker 容器(Container)
容器是獨立運行的一個或一組應用,是鏡像運行時的實體。
Docker 客戶端(Client)
Docker 客戶端通過命令行或者其他工具使用 Docker SDK 與 Docker 的守護進程通信。
Docker 主機(Host)
一個物理或者虛擬的機器用于執行 Docker 守護進程和容器。
Docker Registry
Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫。提供了龐大的鏡像集合供使用。一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標簽(Tag);每個標簽對應一個鏡像。通常,一個倉庫會包含同一個軟件不同版本的鏡
像,而標簽就常用于對應該軟件的各個版本。我們可以通過 <倉庫名>:<標簽> 的格式來指
定具體是這個軟件哪個版本的鏡像。如果不給出標簽,將以 latest 作為默認標簽。
Docker Machine
Docker Machine是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。
來源:techweb.com.cn
- 騰訊清遠云計算數據中心正式開服,為華南地區最大新基建項目2020-07-03
- 率先拿下可信物聯網云平臺認證,騰訊云物聯網獲權威認可2020-07-03
- 平頭哥首款AI芯片一換,阿里云服務器算力5倍GPU方案2020-06-13
- 阿里云蔣江偉:我們致力于為世界提供70%的算力2020-06-12



