淺談DOCKER
Docker的概念
Docker 是一個(gè)開源的應(yīng)用容器引擎
可以讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中绳匀,然后發(fā)布到任何流行的 Linux 機(jī)器上
也可以實(shí)現(xiàn)虛擬化芋忿。容器是完全使用沙箱機(jī)制炸客,相互之間不會(huì)有任何接口。
Docker 是PaaS提供商dotCloud的開源項(xiàng)目戈钢,源代碼托管在Github上, 基于go語言痹仙。
https://github.com/docker/docker
IaaS是Infrastructure-as-a-Service的縮寫,意思是基礎(chǔ)設(shè)施即服務(wù)殉了】觯————購置或租用虛擬機(jī)等硬件來提供服務(wù)。
PaaS是Platform-as-a-Service的縮寫薪铜,意思是平臺(tái)即服務(wù)众弓。————直接定制需要的服務(wù)隔箍,只需要提供應(yīng)用和數(shù)據(jù)即可谓娃。
現(xiàn)在知名的云服務(wù)提供商:
國際:亞馬遜AWS,微軟Azure蜒滩,谷歌Cloud Platform滨达,IBM Bluemix,VMware
國內(nèi):阿里云俯艰,網(wǎng)易云捡遍,騰訊云,百度云
靈雀云竹握,數(shù)人云画株,時(shí)速云,道客云
Docker每個(gè)鏡像相當(dāng)于一個(gè)集裝箱涩搓。
當(dāng)我們把配置好的環(huán)境交給客戶時(shí)污秆,我們只需要把鏡像發(fā)給客戶,客戶不用再做環(huán)境配置的工作昧甘,也不用擔(dān)心使用
起來會(huì)和我們這邊的環(huán)境不一樣。其實(shí)這個(gè)也和虛擬機(jī)類似战得,不過虛擬機(jī)運(yùn)行起來占用資源厲害充边,啟動(dòng)速度慢,鏡
像體積也比較大常侦。
Docker 包括三個(gè)基本概念
鏡像(Image) 一個(gè)只讀的模板
容器(Container)? 從鏡像創(chuàng)建的運(yùn)行實(shí)例
倉庫(Repository)? 集中存放鏡像文件的場(chǎng)所
Docker生態(tài)系統(tǒng)
|鏡像庫
公有 dockerhub
私有 docker registry
------------------------------
|網(wǎng)絡(luò)(docker1.9之前) overlay?? / weave?? / flannel?? 等軟件來提供服務(wù)
------------------------------
|容器集群管理監(jiān)控 (容器編排與管理的系統(tǒng))
Kubernetes ? ? ? Google開發(fā)浇冰,基于Go語言
Mesos
Swarm
-------------------------------
|服務(wù)發(fā)現(xiàn)?? etcd?? / consul?? / zookeeper
Docker四大特性
Docker容器的秒級(jí)啟動(dòng)
Docker容器實(shí)現(xiàn)了應(yīng)用環(huán)境的標(biāo)準(zhǔn)化
Docker與mesos.k8s的結(jié)合,提供了云服務(wù)能力.
Docker的高資源利用率(與虛擬機(jī)相比)
Docker的一些基本命令
docker --version
docker search
docker pull
docker images
docker run
docker ps -a
docker commit
docker stop|start
docker exec
docker rm
docker rmi
docker exec