001.Docker簡介及原理
阿新 • • 發佈:2018-11-29
一 簡介
Docker最初是dotCloud公司的一個內部專案,誕生於 2013 年初,由google公司開源的Go語言開發。 Docker是一個開源的引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機器)、bare metal、OpenStack 叢集和其他的基礎應用平臺。二 特性
2.1 docker特性
- 標準化
- 保證一致的執行環境
- 彈性伸縮,快速擴容
- 方便遷移
- 持續整合、持續交付與持續部署
- 高效能
- 不需要進行硬體虛擬以及執行完整的作業系統
- 輕量級
- 快速啟動
- 隔離性
- 程序隔離
2.2 容器的組成
容器=cgroup+namespace+rootfs+容器引擎(使用者態工具)- Cgroup:資源控制
- Namespace:訪問隔離
- rootfs:檔案系統隔離
- 容器引擎:生命週期控制
2.2 docker與KVM
三 場景
Docker通常用於如下場景:- web應用的自動化打包和釋出;
- 自動化測試和持續整合、釋出;
- 在服務型環境中部署和調整資料庫或其他的後臺應用;
- 從頭編譯或者擴充套件現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環境。
四 架構
- Docker客戶端 – Docker
- Docker服務端 – Docker Daemon
- Docker映象 – Image
- Docker容器 – Docker Container
- Docker映象倉庫 -- Registry