教你十分鐘學(xué)會用docker部署微服務(wù)!
??一、Docker的優(yōu)點(diǎn)如下:
??1. 簡化程序
??Docker 讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,便可以實(shí)現(xiàn)虛擬化。Docker改變了虛擬化的方式,使開發(fā)者可以直接將自己的成果放入Docker中進(jìn)行管理。方便快捷已經(jīng)是 Docker的最大優(yōu)勢,過去需要用數(shù)天乃至數(shù)周的 任務(wù),在Docker容器的處理下,只需要數(shù)秒就能完成。
??2. 避免選擇恐懼癥
??如果你有選擇恐懼癥,還是資深患者。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 集群、消息隊列等等都可以打包成一個鏡像部署。
??3. 節(jié)省開支
??一方面,云計算時代到來,使開發(fā)者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與云的結(jié)合,讓云空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。
??二、Docker架構(gòu)
??1、Docker daemon( Docker守護(hù)進(jìn)程)
??Docker daemon是一個運(yùn)行在宿主機(jī)( DOCKER-HOST)的后臺進(jìn)程。可通過 Docker客戶端與之通信。
??2、Client( Docker客戶端)
??Docker客戶端是 Docker的用戶界面,它可以接受用戶命令和配置標(biāo)識,并與 Docker daemon通信。圖中, docker build等都是 Docker的相關(guān)命令。
??3、Images( Docker鏡像)
??Docker鏡像是一個只讀模板,它包含創(chuàng)建 Docker容器的說明。它和系統(tǒng)安裝光盤有點(diǎn)像,使用系統(tǒng)安裝光盤可以安裝系統(tǒng),同理,使用Docker鏡像可以運(yùn)行 Docker鏡像中的程序。
??4、Container(容器)
??容器是鏡像的可運(yùn)行實(shí)例。鏡像和容器的關(guān)系有點(diǎn)類似于面向?qū)ο笾校惡蛯ο蟮年P(guān)系??赏ㄟ^ Docker API或者 CLI命令來啟停、移動、刪除容器。
??5、Registry
??Docker Registry是一個集中存儲與分發(fā)鏡像的服務(wù)。構(gòu)建完 Docker鏡像后,就可在當(dāng)前宿主機(jī)上運(yùn)行。但如果想要在其他機(jī)器上運(yùn)行這個鏡像,就需要手動復(fù)制。此時可借助 Docker Registry來避免鏡像的手動復(fù)制。
??一個 Docker Registry可包含多個 Docker倉庫,每個倉庫可包含多個鏡像標(biāo)簽,每個標(biāo)簽對應(yīng)一個 Docker鏡像。這跟 Maven的倉庫有點(diǎn)類似,如果把 Docker Registry比作 Maven倉庫的話,那么 Docker倉庫就可理解為某jar包的路徑,而鏡像標(biāo)簽則可理解為jar包的版本號。
??三、Docker安裝
??Docker 是一個開源的商業(yè)產(chǎn)品,有兩個版本:社區(qū)版(Community Edition,縮寫為 CE)和企業(yè)版(Enterprise Edition,縮寫為 EE)。企業(yè)版包含了一些收費(fèi)服務(wù),個人開發(fā)者一般用不到。
??四、Docker常用命令
??(一) 鏡像相關(guān)命令
??1、搜索鏡像
??可使用 docker search命令搜索存放在 Docker Hub(這是docker官方提供的存放所有docker鏡像軟件的地方,類似maven的中央倉庫)中的鏡像。執(zhí)行該命令后, Docker就會在Docker Hub中搜索含有 java這個關(guān)鍵詞的鏡像倉庫。
??2、下載鏡像
??使用命令docker pull命令即可從 Docker Registry上下載鏡像,執(zhí)行該命令后,Docker會從 Docker Hub中的 java倉庫下載最新版本的 Java鏡像。如果要下載指定版本則在java后面加冒號指定版本。
??3、列出鏡像
??使用 docker images命令即可列出已下載的鏡像
??4、刪除本地鏡像
??使用 docker rmi命令即可刪除指定鏡像
??RUN命令在 image 文件的構(gòu)建階段執(zhí)行,執(zhí)行結(jié)果都會打包進(jìn)入 image 文件;CMD命令則是在容器啟動后執(zhí)行。另外,一個 Dockerfile 可以包含多個RUN命令,但是只能有一個CMD命令。指定了CMD命令以后,docker container run命令就不能附加命令了(比如前面的/bin/bash),否則它會覆蓋CMD命令。小伙伴們要想獲得更多docker部署的內(nèi)容,請關(guān)注新網(wǎng)!
聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科