Docker的介紹和架構(gòu)
總是聽說docker是一個(gè)輕量高效率的工具泌枪,那么到底docker是個(gè)什么東西,它又有著什么樣的優(yōu)點(diǎn)和使用場景呢?
docker介紹
是什么糊治?docker是一個(gè)應(yīng)用容器引擎,基于Go語言罚舱。
可以做什么井辜?可以讓開發(fā)者將應(yīng)用以及依賴包打包放到一個(gè)輕量級、可移植容器里面管闷,然后發(fā)布到任意的linux機(jī)器上粥脚,也可以實(shí)現(xiàn)虛擬化“觯【為了方便理解刷允,你可以想象成一個(gè)桶,所有的工具都放在這個(gè)桶里了碧囊。桶很輕树灶,你可以提著到處走,當(dāng)然別人也可以提走】
采用什么機(jī)制糯而?采用沙箱機(jī)制天通,獨(dú)立運(yùn)行,相互之間沒有任何接口熄驼,更重要的是容器開銷極低像寒。
docker應(yīng)用場景
利用docker,我們可以
- 實(shí)現(xiàn)web應(yīng)用的自動(dòng)化打包與發(fā)布
- 實(shí)現(xiàn)自動(dòng)化測試和持續(xù)集成谜洽、發(fā)布
- 在服務(wù)器型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或者其它的后臺應(yīng)用
- 從頭編譯或者擴(kuò)展現(xiàn)有的Openshift或Cloud Foundry平臺來搭建自己的PaaS環(huán)境
docker的優(yōu)點(diǎn)
-
簡化程序
Docker 讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中萝映,然后發(fā)布到任何流行的 Linux 機(jī)器上,便可以實(shí)現(xiàn)虛擬化阐虚。Docker改變了虛擬化的方式序臂,使開發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢实束,過去需要用數(shù)天乃至數(shù)周的 任務(wù)奥秆,在Docker容器的處理下,只需要數(shù)秒就能完成
-
包容
當(dāng)很多個(gè)應(yīng)用和包同時(shí)可用咸灿,你不知道該選擇哪個(gè)构订,使用 Docker 打包你的糾結(jié)!比如 Docker 鏡像避矢;Docker 鏡像中包含了運(yùn)行環(huán)境和配置悼瘾,所以 Docker 可以簡化部署多種應(yīng)用實(shí)例工作囊榜。比如 Web 應(yīng)用、后臺應(yīng)用亥宿、數(shù)據(jù)庫應(yīng)用卸勺、大數(shù)據(jù)應(yīng)用比如 Hadoop 集群、消息隊(duì)列等等都可以打包成一個(gè)鏡像部署
-
節(jié)省開支
云計(jì)算時(shí)代到來烫扼,使開發(fā)者不必為了追求效果而配置高額的硬件曙求,Docker 改變了高性能必然高價(jià)格的思維定勢。Docker 與云的結(jié)合映企,讓云空間得到更充分的利用悟狱。不僅解決了硬件管理的問題,也改變了虛擬化的方式堰氓。
docker的架構(gòu)
采用c/s(客戶端/服務(wù)端)架構(gòu)模式挤渐,使用遠(yuǎn)程API來管理和創(chuàng)建docker容器【這里為了與已有的知識鏈接,我們采用了面向?qū)ο罄锏念惡蛯ο髞眍惐取?/p>
面向?qū)ο?/th> | Docker |
---|---|
類 | 鏡像 |
對象 | 容器 |
Docker 鏡像(Images) | Docker 鏡像是用于創(chuàng)建 Docker 容器的模板豆赏。 |
---|---|
Docker 容器(Container) | 容器是獨(dú)立運(yùn)行的一個(gè)或一組應(yīng)用挣菲。 |
Docker 客戶端(Client) | Docker 客戶端通過命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 與 Docker 的守護(hù)進(jìn)程通信富稻。 |
Docker 主機(jī)(Host) | 一個(gè)物理或者虛擬的機(jī)器用于執(zhí)行 Docker 守護(hù)進(jìn)程和容器掷邦。 |
Docker 倉庫(Registry) | Docker 倉庫用來保存鏡像,可以理解為代碼控制中的代碼倉庫椭赋。Docker Hub(https://hub.docker.com) 提供了龐大的鏡像集合供使用抚岗。 |
Docker Machine | Docker Machine是一個(gè)簡化Docker安裝的命令行工具,通過一個(gè)簡單的命令行即可在相應(yīng)的平臺上安裝Docker哪怔,比如VirtualBox宣蔚、 Digital Ocean、Microsoft Azure认境。 |
這里的local host和remote host 都是守護(hù)進(jìn)程胚委。
聯(lián)系方式
好啦!關(guān)于docker的基礎(chǔ)介紹大概就到這里啦叉信!對此文檔有任何意見或者建議都可以聯(lián)系我亩冬!
聯(lián)系方式:psywency@foxmail.com