Docker介紹與簡介

Docker的目標

提供簡單輕量建模方式
指責的邏輯分離
快速高效的開發聲明週期
鼓勵使用面向服務的架構

Docker的使用場景

1. 使用Docker容器開發、測試、部署服務。
2. 創建隔離的運行環境。
3. 搭建測試環境。
4. 構建多用戶的平臺既服務(PaaS)基礎設施。
5. 提供軟件既服務(SaaS)應用程序
6. 高興能、超大規模的宿主機部署

Docker的基本組成

Docker client 客戶端
Docker Daemon 守護進程
Docker Image  鏡像
Docker Container 容器
Docker Registry 倉庫

Docker 客戶端/守護進程

Docker是C/S架構的程序。客戶端象服務端(守護進程)發出請求,守護進程處理完所有的請求工作並返回結果。
Docker的服務端訪問既可以在本地,也可以遠程訪問。

Docker Client -> Docker Daemon -> Docker Container | Docker Container | Docker Registry -> Docker Client
Docker客戶端發送請求到Docker服務端,服務端根據請求命令去完成工作,並返回結果

Docker Image 鏡像

容器的基石
層疊的制度文件系統

Docker Container 容器

通過鏡像啓動
啓動和執行階段
寫時複製

Docker Registry 倉庫

倉庫分爲公有、私有
Docker Hub

Docker容器相關技術簡介

  • Docker依賴的Linux內核特性
    Namespaces 命名空間
        系統資源的隔離
        進程、網路、文件系統
    
        1. PID (Process ID) 進程隔離
        2. NET (Network) 管理網絡接口
        3. IPC (InterProcess Communication) 管理跨進程通信的訪問
        4. MNT (Mount) 管理掛載點
        5. UTS (Unix Timesharing System) 隔離內核和版本標識
    
    Control groups (cgroups) 控制組
        用來分配資源
        來源於Google
        Linux kernel 2.6.24@2007
    
        1. 資源限制
        2. 優先級設定
        3. 資源計量
        4. 資源控制
    
  • Docker容器的能力
    1. 文件系統隔離:每個容器都有孫的root文件系統
    2. 進程隔離:每個容器都運行在自己的進程環境中
    3. 網絡隔離:容器間的虛擬網絡接口和IP地址都是分開的
    4. 資源隔離和分組:使用cgroups將CPU和內存之類的資源獨立分配給每個Docker容器
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章