1.1 Docker虛擬化技術(shù)概念
Docker是一款輕量級(jí)凡简、高性能的虛擬化技術(shù)冀自,是目前互聯(lián)網(wǎng)使用最多的虛擬化技術(shù)汽纠,Docker虛擬化技術(shù)的本質(zhì)類(lèi)似集裝箱機(jī)制抬驴,最早集裝箱沒(méi)有出現(xiàn)的時(shí)候炼七,碼頭上有許多搬運(yùn)的工人在搬運(yùn)貨物,集裝箱出現(xiàn)以后布持,碼頭上看到更多的不是工人豌拙,而且集裝箱的搬運(yùn)模式更加單一,更加高效题暖,還有其他的好處按傅。
將貨物多打包在集裝箱里面捉超,可以防止貨物之間相互影響。并且到了另外一個(gè)碼頭需要轉(zhuǎn)運(yùn)的話唯绍,有了在集裝箱以后拼岳,直接把它運(yùn)送到另一個(gè)碼頭即可,完全可以保證里面的貨物是整體的搬遷况芒,并且不會(huì)損壞貨物本身惜纸。
Docker技術(shù)機(jī)制跟集裝箱類(lèi)似,Docker虛擬化 是一個(gè)開(kāi)源的應(yīng)用容器引擎绝骚,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴(lài)包到一個(gè)可移植的容器中耐版,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化压汪。
Docker容器是完全使用沙箱機(jī)制粪牲,相互之間不會(huì)有任何接口,幾乎沒(méi)有性能開(kāi)銷(xiāo),可以很容易地在機(jī)器和數(shù)據(jù)中心中運(yùn)行止剖。最重要的是腺阳,他們不依賴(lài)于任何語(yǔ)言、框架或包括系統(tǒng)滴须。
Docker應(yīng)該是近年最火爆的技術(shù)之一舌狗,如果沒(méi)有聽(tīng)說(shuō)過(guò)叽奥,那么你就out了扔水,2019年將開(kāi)啟新的跨越。 Docker 自開(kāi)源后受到廣泛的關(guān)注和討論朝氓,以至于 dotCloud 公司后來(lái)都改名為 Docker Inc魔市。
Redhat 已經(jīng)在其 RHEL6.5 中集中支持Docker; Google 也在其 PaaS 產(chǎn)品中廣泛應(yīng)用赵哲,Docker 項(xiàng)目的目標(biāo)是實(shí)現(xiàn)輕量級(jí)的操作系統(tǒng)虛擬化解決方案待德。
Docker的基礎(chǔ)是 Linux 容器(LXC)等技術(shù)。在LXC的基礎(chǔ)上 Docker 進(jìn)行了進(jìn)一步的封裝枫夺,讓用戶不需要去關(guān)心容器的管理将宪,使得操作更為簡(jiǎn)便。用戶操作 Docker 的容器就像操作一個(gè)快速輕量級(jí)的虛擬機(jī)一樣簡(jiǎn)單橡庞。
下面對(duì)比了Docker 和傳統(tǒng)虛擬化(KVM较坛、XEN、Hyper-V扒最、ESXI)結(jié)構(gòu)層級(jí)方式的不同之處丑勤,
圖為傳統(tǒng)虛擬化結(jié)構(gòu)圖: [圖片上傳失敗...(image-de1238-1584434729729)]
圖為Docker虛擬化結(jié)構(gòu)圖:[圖片上傳失敗...(image-6d8348-1584434729729)]
n Docker虛擬化技術(shù)概念&總結(jié):
Docker虛擬化技術(shù)是在硬件的基礎(chǔ)上,基于現(xiàn)有的操作系統(tǒng)層面上實(shí)現(xiàn)虛擬化吧趣,直接復(fù)用本地主機(jī)的操作系統(tǒng)法竞,直接虛擬生成Docker容器耙厚,而Docker容器上部署相關(guān)的APP應(yīng)用(Apache、MYSQL岔霸、PHP薛躬、JAVA)。
n 傳統(tǒng)虛擬化技術(shù)概念&總結(jié):
KVM呆细、XEN泛豪、ESXI傳統(tǒng)虛擬化(完全、半虛擬化)是在硬件的基礎(chǔ)上侦鹏,基于現(xiàn)有的操作系統(tǒng)層面上實(shí)現(xiàn)虛擬化诡曙,但是不能復(fù)用本地主機(jī)的操作系統(tǒng),而是必須虛擬出自己的Guest OS系統(tǒng)略水,然后在Guest OS系統(tǒng)上部署相關(guān)的APP應(yīng)用(Apache价卤、MYSQL、PHP渊涝、JAVA)慎璧。
Docker虛擬化跟傳統(tǒng)VM比較具有如下優(yōu)點(diǎn):
n 操作啟動(dòng)快:
運(yùn)行時(shí)的性能可以獲取極大提升,管理操作(啟動(dòng)跨释,停止胸私,開(kāi)始,重啟等等) 都是以秒或毫秒為單位的鳖谈。
n 輕量級(jí)虛擬化:
你會(huì)擁有足夠的“操作系統(tǒng)”岁疼,僅需添加或減小鏡像即可。在一臺(tái)服務(wù)器上可以布署100~1000個(gè)Containers容器缆娃。但是傳統(tǒng)虛擬化捷绒,你虛擬10-20個(gè)虛擬機(jī)就不錯(cuò)了。
n 開(kāi)源免費(fèi):
開(kāi)源的贯要,免費(fèi)的暖侨,低成本的。由現(xiàn)代Linux內(nèi)核支持并驅(qū)動(dòng)崇渗。注* 輕量的Container必定可以在一個(gè)物理機(jī)上開(kāi)啟更多“容器”字逗,注定比VMs要便宜。
n 前景及云支持宅广;
正在越來(lái)越受歡迎葫掉,包括各大主流公司都在推動(dòng)docker的快速發(fā)展,性能有很大的優(yōu)勢(shì)乘碑。隨著Go語(yǔ)言越來(lái)越被人熟知挖息,Docker的使用也越來(lái)越廣泛。
1.2 CentOS6.x(6.5+)Linux Docker平臺(tái)實(shí)戰(zhàn)
掌握了Docker虛擬化概念和原理之后兽肤,最重要的就是要在生產(chǎn)環(huán)節(jié)中落地Docker套腹,Docker虛擬化平臺(tái)最早期只支持Linux操作系統(tǒng)绪抛,現(xiàn)在最新版Windows操作系統(tǒng)也慢慢支持Docker虛擬化。
本章節(jié)將選擇不同的發(fā)行版本來(lái)構(gòu)建Docker虛擬化平臺(tái)电禀,Linux操作系統(tǒng)主流發(fā)行版本包括:Red Hat Linux幢码、CentOS、Ubuntu尖飞、SUSE Linux症副、Fedora Linux等,如下簡(jiǎn)要介紹即將部署Docker虛擬化平臺(tái)的兩個(gè)系統(tǒng):CentOS和Ubuntu政基。
Docker官方要求Linux內(nèi)核版本在3.8+以上贞铣,生產(chǎn)環(huán)境中盡量推薦使用3.10+的Linux內(nèi)核版本,Docker從1.13版本起沮明,采用時(shí)間線的方式作為版本號(hào)辕坝,Docker版本現(xiàn)在基于YY.MM,分為社區(qū)版(Community Edition)和企業(yè)版( Enterprise Edition)荐健,社區(qū)版是免費(fèi)提供給個(gè)人開(kāi)發(fā)者和小型團(tuán)體使用的酱畅,而企業(yè)版會(huì)提供額外的收費(fèi)服務(wù)。
社區(qū)版按照Stable和Edge兩種方式發(fā)布江场,每個(gè)季度更新Stable版本纺酸,如17.06,17.09址否,每個(gè)月份更新Edge版本餐蔬,如17.09,17.10在张。
虛擬化&Docker虛擬化技術(shù)本質(zhì)的用途:
為了最大化的利用高配物理機(jī)的資源用含,提高硬件設(shè)備服務(wù)器的資源利用率,淘汰一些老帮匾、舊服務(wù)器,對(duì)老痴鳄、舊服務(wù)器進(jìn)行資源的重組瘟斜、重用,滿足企業(yè)飛快的發(fā)展痪寻。
虛擬化落地實(shí)施硬件設(shè)備選配上螺句,盡量使用高配物理機(jī)資源,參考配置如下:
n 服務(wù)器品牌:Dell R730橡类、R820蛇尚;
n CPU配置:Intel 至強(qiáng)E5-2600系列;
n MEM配置:ECC DDR3 256G顾画;
n DISK配置:SAS 12TB(最大支持24T)取劫;
n NET配置:Intel四端口千兆網(wǎng)卡/雙端口萬(wàn)兆網(wǎng)卡匆笤;
1)安裝步驟和命令如下:
|
安裝Epel擴(kuò)展源; yum install epel-release -y #安裝Docker-io版本谱邪; yum install docker-io lxc cgroup device-mapper* -y #查Docker版本是否安裝炮捧; rpm -qa|grep -E "docker|lxc|device-mapper" #啟動(dòng)Docker引擎服務(wù); service docker restart #查看Docker服務(wù)進(jìn)程惦银; ps -ef|grep docker
|
2)安裝完成咆课,如圖所示:
[圖片上傳失敗...(image-3fdc49-1584434729730)]
3)查看啟動(dòng)進(jìn)程如圖所示:
[圖片上傳失敗...(image-ee7b11-1584434729730)]
4)查看docker info信息,如圖所示:
[圖片上傳失敗...(image-1741ed-1584434729730)]
5)從Docker倉(cāng)庫(kù)下載Nginx鏡像:
[圖片上傳失敗...(image-40efeb-1584434729730)]
1.3 CentOS7.x(7.0+)Linux Docker平臺(tái)實(shí)戰(zhàn)
1)安裝步驟和命令如下:
|
安裝國(guó)內(nèi)阿里源扯俱; wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #安裝Docker-CE版本书蚪; yum install docker-ce* -y #查Docker版本是否安裝; rpm -qa|grep -E "docker" #啟動(dòng)Docker引擎服務(wù)迅栅; service docker restart systemctl restart docker.service #查看Docker服務(wù)進(jìn)程善炫; ps -ef|grep docker
|
2)安裝完成,如圖所示:
[圖片上傳失敗...(image-be042f-1584434729729)]
3)查看啟動(dòng)進(jìn)程如圖所示:
[圖片上傳失敗...(image-60f333-1584434729729)]
4)查看docker info信息库继,如圖所示:
[圖片上傳失敗...(image-2a7c66-1584434729729)]
5)從Docker倉(cāng)庫(kù)下載Nginx鏡像:
[圖片上傳失敗...(image-f594c8-1584434729729)]