Docker學習(一)容器生態系統
05-25
Docker學習(一)容器生態系統
來自專欄 Cloud and Edge Computing
CloudMan的《每天5分鐘玩轉Docker容器技術》教程筆記
2018/5/21核心技術
該技術使得容器能在單個host上運行
Container 容器:Docker, rkt(CoreOS)等規範:
1. Runtime spec2. Image format spec用以保證容器的可移植性和互操作性 Runtime容器真正運行的地方,容器只有在runtime中才能運行。三種流行的容器runtime:lxc(Linux), runc(Docker), rkt(CoreOS) 後兩者符合OCI規範Container Manager 容器管理工具對內與runtime交互,對外提供interface三種流行的容器管理工具:lxd(管理lxc),docker engine(管理runc,分為deamon和cli兩部分),rkt cli(管理rkt)
容器定義工具用於定義容器的內容和屬性docker image為容器模板,runtime依據docker
image 創建容器dockerfile是包含命令的文本文件,通過這些命令創建docker imageACI(App Container Image)為CoreOS開發的rkt的image格式Registry存放image的倉庫docker registry為企業私有的registrydocker hub為公眾提供的託管registry
http://quay.io同樣為公眾提供的託管registry容器OSCoreOS, atomic,Ubuntu core平台技術
該技術能讓容器作為集群在分散式環境中運行
容器編排引擎動態的可伸縮的系統orchestration編排:容器管理,調度,集群定義和服務發現通過編排,容器被組合成微服務應用三個主流容器編排引擎:docker swarm(Docker開發),kubernetes(Google開發,支持Docker和CoreOS容器),mesos(通用平台,mesos+marathon)
容器管理平台在編排引擎之上,更為通用主要有Rancher和ContainerShip基於容器的PaaS使用戶不必關心底層基礎設施而專註於應用的開發以Deis,Flynn和Dokku為代表支持技術
容器網路
用於管理容器與容器,容器與其他實體之間的連通性和隔離性的解決方案docker network是Docker原生解決方案其他的還有flannel,weave和calico
服務發現讓client知道如何訪問容器提供的服務(保存如IP和埠,對外提供API,提供服務查詢等)代表:etcd,consul和zookeeper監控Docker原生:dockerps/top/stats docker stats API其他開源方案:sysdig,cAdvisor/Heapster和Weave Scope數據管理容器在host之間的動態遷移
由flocker提供日誌管理
docker logs和logspout(提供路由功能)安全性
OpenSCAP對容器進行掃描推薦閱讀:
※Angular 容器部署
※1月6日@Kubernetes,2018容器熱點私享會
※在Ubuntu 16.04環境下安裝Docker-CE(附視頻教程)
※如何快速建立生物信息分析環境
※使用Node.js+Docker+GraphQL+MongoDB構建服務
TAG:Docker |