1.1 什麼是Docker
Docker是基於Go語言實現的開源容器項目,官方網站爲www.docker.com,現在主流的操作系統包括LInux各大發行版、Windows等都支持Docker。
Docker的構想是實現“Build, Ship and Run Any App, Anywhere",一次封裝,到處運行。
1.2 爲什麼要使用Docker
1)Docker容器虛擬化的好處: 通過容器來打包應用、解耦應用和運行平臺。
2)Docker在開發和運維中的優勢:
- 更快速的交付和部署
- 更高效的資源利用
- 更輕鬆的遷移和擴展
- 更簡單的更新管理
3)Docker與虛擬機比較
- 啓動和停止實現秒級
- 對系統資源需求很少
- 通過類似Git操作來方便用戶獲取、分發和更新應用鏡像,存儲複用和增量更新
- 通過Dockerfile支持靈活的自動化創建和部署機制,以提高工作效率,並標準化流程
1.3 Docker與虛擬化
虛擬化的核心是對資源的抽象,目標是爲了在同一個主機上同時運行多個系統或應用,從而提高系統資源的利用率,帶來降低成本,方便管理和容錯容災等好處。
虛擬化技術可分爲硬件虛擬化和軟件虛擬化。 軟件虛擬化又分爲應用虛擬化和平臺虛擬化。
平臺虛擬化又分爲:
完全虛擬化: 虛擬機模擬完整的底層硬件環境和特權指令的執行過程。如VMware Workstation、VirtualBox
硬件輔助虛擬化: 利用硬件(主要是CPU)輔助支持處理敏感指令來實現完全虛擬化的功能。如Intel-VT, AMD-V
部分虛擬化: 只針對部分硬件資源進行虛擬化,客戶操作系統需要進行修改。
超虛擬化: 部分硬件接口以軟件的形式提供給客戶機操作系統
操作系統虛擬化:內核通過創建多個虛擬的操作系統實例來隔離不同的進程。如容器相關技術,Docker