Docker技術(shù)與實(shí)踐精簡(jiǎn)版課件_第1頁(yè)
Docker技術(shù)與實(shí)踐精簡(jiǎn)版課件_第2頁(yè)
Docker技術(shù)與實(shí)踐精簡(jiǎn)版課件_第3頁(yè)
Docker技術(shù)與實(shí)踐精簡(jiǎn)版課件_第4頁(yè)
Docker技術(shù)與實(shí)踐精簡(jiǎn)版課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Docker技術(shù)與實(shí)踐Docker技術(shù)與實(shí)踐1第一部分Docker介紹及原理第一部分Docker介紹及原理2什么是Docker?Docker是一個(gè)構(gòu)建在LXC之上,基于進(jìn)程容器的輕量級(jí)VM解決方案,實(shí)現(xiàn)了一種應(yīng)用程序級(jí)別的資源隔離及配額。Docker起源于PaaS提供商dotCloud基于go語(yǔ)言開發(fā),遵從Apache2.0開源協(xié)議。什么是Docker?Docker是一個(gè)構(gòu)建在LXC之3認(rèn)識(shí)DockerNamespaces(IBM)Cgroups(Google)LXCtoolsTheLinuxKernelGitSELinux(RedHat)SolarisZonesBSDJails+++Docker如何和Linux內(nèi)核打交道?Docker平臺(tái)工具、守護(hù)進(jìn)程Image鏡像,包括應(yīng)用及系統(tǒng)的只讀數(shù)據(jù)包Container容器,虛擬機(jī)的運(yùn)行實(shí)例Registry倉(cāng)庫(kù)登記,管理鏡像文件DockerhubDocker官方公有倉(cāng)庫(kù)Docker專業(yè)術(shù)語(yǔ)認(rèn)識(shí)DockerNamespaces(IBM)Docker4DockerVSVMDockerVSVM5Docker的原理pid-進(jìn)程net-網(wǎng)絡(luò)ipc-消息mnt-文件系統(tǒng)uts-分時(shí)user-用戶Namespace資源隔離LinuxKernelrootnamespaceinitpid=1initpid=2bashpid=3bashpid=4Xnamespaceinitpid=1bashpid=2Docker的原理pid-進(jìn)程N(yùn)amespace資源隔6Docker文件系統(tǒng)Docker鏡像位于bootfs之上每一層鏡像的下面一層稱為其父鏡像(父子關(guān)系)第一層鏡像為BaseImage容器在最頂層其下的所有層都為readonlyDocker將readonly的FS層稱作"image"DockerAUFS特性Docker文件系統(tǒng)Docker鏡像位于bootfs之上Do7第二部分Docker基本操作第二部分Docker基本操作8Docker三大核心容器Container鏡像images倉(cāng)庫(kù)RepositoriesdockerHub(publicregistry)Docker-registry(privateregistry)Docker三大核心容器鏡像倉(cāng)庫(kù)dockerHubDock9Docker操作-倉(cāng)庫(kù)dockersearchcentos6dockerpullcentos:latestdockerpushyorko/mysql:v2dockerlogin倉(cāng)庫(kù)相關(guān)命令Docker操作-倉(cāng)庫(kù)dockersearchcent10Docker操作-鏡像dockerimagesdockerrmicentos:latestdockerbuild-t="yorko/mysql:v1".dockerexport<CONTAINERID>>/home/export.tarcat/home/export.tar|dockerimport-yorko-1-export:latestdockersaveyorko-1>/home/save.tardockerload</home/save.tar鏡像相關(guān)命令Docker操作-鏡像dockerimages鏡像相關(guān)命11Docker操作-容器dockerrun-d--dns-p8080:80-p2022:22-v/data:/data–v/etc/httpd/conf:/etc/httpd/conf-v/etc/httpd/conf.d:/etc/httpd/conf.d–v/etc/localtime:/etc/localtime:ro--namewebserver1webserver:v3/usr/sbin/apache2-DFOREGROUNDdockerstart/stop/restart/attach/killwebserver1容器運(yùn)行相關(guān)命令Docker操作-容器dockerrun-d--dn12Docker操作-DockerfileFROMubuntu/14.04MAINTAINERguol##installsshRUNapt-getinstallopenssh-server-y##configsshRUNmkdir/var/run/sshdRUNuseradd–s/bin/bash–m–d/home/guolguolRUNecho‘guol:123456’|chpasswdENVRUNNABLE_USER_DIR/home/guolEXPOSE22CMD["/usr/sbin/sshd-D"]Dockerfile介紹Docker操作-DockerfileFROMubuntu13Docker操作-APIimportdockerc=docker.Client(base_url='tcp://2:2375',version='1.14',timeout=10)c.create_container(image="yorko/webserver:v1",stdin_open=True,tty=True,command="/usr/bin/supervisord-c/etc/supervisord.conf",volumes=['/data'],ports=[80,22],name="webserver")importdockerc=docker.Client(base_url='tcp://2:2375',version='1.14',timeout=10)r=c.start(container='webserver',binds={'/data':{'bind':'/data','ro':False}},port_bindings={80:80,22:2022},lxc_conf=None,

publish_all_ports=True,links=None,privileged=False,

dns=None,dns_search=None,volumes_from=None,network_mode=None,

restart_policy=None,cap_add=None,cap_drop=None)Pydocker

api操作Docker操作-APIimportdockerimpor14第三部分Docker實(shí)踐案例第三部分Docker實(shí)踐案例15待解決的問(wèn)題1、如何實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)?2、如何支持多臺(tái)主宿機(jī)?3、容器服務(wù)的高可用如何保障?5、如何實(shí)現(xiàn)資源最大化利用?4、如何保證容器服務(wù)負(fù)載均衡?待解決的問(wèn)題1、如何實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)?2、如何支持多臺(tái)主宿機(jī)?316案例架構(gòu)說(shuō)明HTTPrequestHaproxy(M)Haproxy(S)Confdhaproxy.cfgEtcdmasterEtcdslaveServer_1Container_1Apponport23842Container_2Apponport23843DockerServer_2Container_1Apponport14512Container_2Apponport14513DockerREST-APIHaproxy.cfg[Shell]DockerrunCurletcdsetEtcdConfd架構(gòu)流程案例架構(gòu)說(shuō)明HTTPrequestHaproxy(M)Ha17應(yīng)用場(chǎng)景:1.對(duì)應(yīng)用進(jìn)行自動(dòng)打包和部署2.創(chuàng)建輕量、私有的PAAS環(huán)境3.自動(dòng)化測(cè)試和持續(xù)整合與部署4.部署和擴(kuò)展Web應(yīng)用、數(shù)據(jù)庫(kù)和后端服務(wù)最后:A.DockerVSVMB.微服務(wù)架構(gòu)容器鏡像倉(cāng)庫(kù)應(yīng)用場(chǎng)景:1.對(duì)應(yīng)用進(jìn)行自動(dòng)打包和部署2.創(chuàng)建輕量、私有的P18為更好滿足學(xué)習(xí)和使用需求,課件在下載后可以自由編輯,請(qǐng)根據(jù)實(shí)際情況進(jìn)行調(diào)整Inordertobettermeettheneedsoflearningandusing,thecoursewareisfreelyeditedafterdownloading為更好滿足學(xué)習(xí)和使用需求,課件在下載后可以自由編輯,請(qǐng)根據(jù)實(shí)19Docker技術(shù)與實(shí)踐Docker技術(shù)與實(shí)踐20第一部分Docker介紹及原理第一部分Docker介紹及原理21什么是Docker?Docker是一個(gè)構(gòu)建在LXC之上,基于進(jìn)程容器的輕量級(jí)VM解決方案,實(shí)現(xiàn)了一種應(yīng)用程序級(jí)別的資源隔離及配額。Docker起源于PaaS提供商dotCloud基于go語(yǔ)言開發(fā),遵從Apache2.0開源協(xié)議。什么是Docker?Docker是一個(gè)構(gòu)建在LXC之22認(rèn)識(shí)DockerNamespaces(IBM)Cgroups(Google)LXCtoolsTheLinuxKernelGitSELinux(RedHat)SolarisZonesBSDJails+++Docker如何和Linux內(nèi)核打交道?Docker平臺(tái)工具、守護(hù)進(jìn)程Image鏡像,包括應(yīng)用及系統(tǒng)的只讀數(shù)據(jù)包Container容器,虛擬機(jī)的運(yùn)行實(shí)例Registry倉(cāng)庫(kù)登記,管理鏡像文件DockerhubDocker官方公有倉(cāng)庫(kù)Docker專業(yè)術(shù)語(yǔ)認(rèn)識(shí)DockerNamespaces(IBM)Docker23DockerVSVMDockerVSVM24Docker的原理pid-進(jìn)程net-網(wǎng)絡(luò)ipc-消息mnt-文件系統(tǒng)uts-分時(shí)user-用戶Namespace資源隔離LinuxKernelrootnamespaceinitpid=1initpid=2bashpid=3bashpid=4Xnamespaceinitpid=1bashpid=2Docker的原理pid-進(jìn)程N(yùn)amespace資源隔25Docker文件系統(tǒng)Docker鏡像位于bootfs之上每一層鏡像的下面一層稱為其父鏡像(父子關(guān)系)第一層鏡像為BaseImage容器在最頂層其下的所有層都為readonlyDocker將readonly的FS層稱作"image"DockerAUFS特性Docker文件系統(tǒng)Docker鏡像位于bootfs之上Do26第二部分Docker基本操作第二部分Docker基本操作27Docker三大核心容器Container鏡像images倉(cāng)庫(kù)RepositoriesdockerHub(publicregistry)Docker-registry(privateregistry)Docker三大核心容器鏡像倉(cāng)庫(kù)dockerHubDock28Docker操作-倉(cāng)庫(kù)dockersearchcentos6dockerpullcentos:latestdockerpushyorko/mysql:v2dockerlogin倉(cāng)庫(kù)相關(guān)命令Docker操作-倉(cāng)庫(kù)dockersearchcent29Docker操作-鏡像dockerimagesdockerrmicentos:latestdockerbuild-t="yorko/mysql:v1".dockerexport<CONTAINERID>>/home/export.tarcat/home/export.tar|dockerimport-yorko-1-export:latestdockersaveyorko-1>/home/save.tardockerload</home/save.tar鏡像相關(guān)命令Docker操作-鏡像dockerimages鏡像相關(guān)命30Docker操作-容器dockerrun-d--dns-p8080:80-p2022:22-v/data:/data–v/etc/httpd/conf:/etc/httpd/conf-v/etc/httpd/conf.d:/etc/httpd/conf.d–v/etc/localtime:/etc/localtime:ro--namewebserver1webserver:v3/usr/sbin/apache2-DFOREGROUNDdockerstart/stop/restart/attach/killwebserver1容器運(yùn)行相關(guān)命令Docker操作-容器dockerrun-d--dn31Docker操作-DockerfileFROMubuntu/14.04MAINTAINERguol##installsshRUNapt-getinstallopenssh-server-y##configsshRUNmkdir/var/run/sshdRUNuseradd–s/bin/bash–m–d/home/guolguolRUNecho‘guol:123456’|chpasswdENVRUNNABLE_USER_DIR/home/guolEXPOSE22CMD["/usr/sbin/sshd-D"]Dockerfile介紹Docker操作-DockerfileFROMubuntu32Docker操作-APIimportdockerc=docker.Client(base_url='tcp://2:2375',version='1.14',timeout=10)c.create_container(image="yorko/webserver:v1",stdin_open=True,tty=True,command="/usr/bin/supervisord-c/etc/supervisord.conf",volumes=['/data'],ports=[80,22],name="webserver")importdockerc=docker.Client(base_url='tcp://2:2375',version='1.14',timeout=10)r=c.start(container='webserver',binds={'/data':{'bind':'/data','ro':False}},port_bindings={80:80,22:2022},lxc_conf=None,

publish_all_ports=True,links=None,privileged=False,

dns=None,dns_search=None,volumes_from=None,network_mode=None,

restart_policy=None,cap_add=None,cap_drop=None)Pydocker

api操作Docker操作-APIimportdockerimpor33第三部分Docker實(shí)踐案例第三部分Docker實(shí)踐案例34待解決的問(wèn)題1、如何實(shí)現(xiàn)自動(dòng)發(fā)現(xiàn)?2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論