docker容器應(yīng)該如何操作?docker容器的出現(xiàn)為我們解決了什么
docker容器,這對(duì)大家來(lái)說(shuō)好像一個(gè)陌生的名詞,單看它的漢語(yǔ)詞義是指容器,在現(xiàn)實(shí)中容器有什么作用呢?它可以將物品規(guī)整的擺放起來(lái),并且實(shí)現(xiàn)標(biāo)準(zhǔn)化,各個(gè)容器之間不會(huì)互相影響。因此我們?cè)谘b運(yùn)這些容器時(shí)不用分類,直接能用一個(gè)更大運(yùn)貨工具載裝。docker就是類似這樣的理念,想要了解更多關(guān)于docker容器的信息大家可以多多關(guān)注新網(wǎng),會(huì)給大家提供更專業(yè)的解釋和信息。
Docker 容器是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以以統(tǒng)一的方式打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何安裝了Docker引擎的服務(wù)器上(包括流行的Linux機(jī)器、windows機(jī)器),也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口(類似 iPhone 的 app)。幾乎沒(méi)有性能開(kāi)銷,可以很容易地在機(jī)器和數(shù)據(jù)中心中運(yùn)行。最重要的是,他們不依賴于任何語(yǔ)言、框架包括系統(tǒng)。
Docker容器與其他的容器技術(shù)都是大致類似的。但它在一個(gè)單一的容器內(nèi)捆綁了關(guān)鍵的應(yīng)用程序組件,這也就讓這容器可以在不同平臺(tái)和云計(jì)算之間實(shí)現(xiàn)便攜性。其結(jié)果就是,Docker就成為了需要實(shí)現(xiàn)跨多個(gè)不同環(huán)境運(yùn)行的應(yīng)用程序的理想容器技術(shù)選擇。Docker還可以讓使用微服務(wù)的應(yīng)用程序得益,所謂微服務(wù)就是把應(yīng)用程序分解成為專門(mén)開(kāi)發(fā)的更小服務(wù)。 這些服務(wù)使用通用的RESTAPI來(lái)進(jìn)行交互。使用完全封裝Docker容器的開(kāi)發(fā)人員可以針對(duì)采用微服務(wù)的應(yīng)用程序開(kāi)發(fā)出一個(gè)更為高效的分發(fā)模式。
docker容器應(yīng)該如何操作
docker容器的啟動(dòng)有一下幾種種方式:交互方式,基于鏡像新建容器并啟動(dòng)。例如我們可以啟動(dòng)一個(gè)容器,打印出當(dāng)前的日歷表;我們還可以通過(guò)指定參數(shù),啟動(dòng)一個(gè)bash交互終端;參數(shù)-t讓Docker分配一個(gè)偽終端并綁定在容器的標(biāo)準(zhǔn)輸入上,-i讓容器的標(biāo)準(zhǔn)輸入保持打開(kāi)。使用docker run命令來(lái)啟動(dòng)容器,docker在后臺(tái)運(yùn)行的標(biāo)準(zhǔn)操作包括:檢查本地是否存在指定的鏡像,不存在則從公有倉(cāng)庫(kù)下載;使用鏡像創(chuàng)建并啟動(dòng)容器;分配一個(gè)文件系統(tǒng),并在只讀的鏡像層外面掛載一層可讀可寫(xiě)層;從宿主主機(jī)配置的網(wǎng)橋接口中橋接一個(gè)虛擬接口道容器中去;從地址池分配一個(gè)ip地址給容器;執(zhí)行用戶指定的應(yīng)用程序;執(zhí)行完畢之后容器被終止。
云計(jì)算、大數(shù)據(jù),移動(dòng)技術(shù)的快速發(fā)展,加之企業(yè)業(yè)務(wù)需求的不斷變化,導(dǎo)致企業(yè)架構(gòu)要隨時(shí)更改以適合業(yè)務(wù)需求,跟上技術(shù)更新的步伐。毫無(wú)疑問(wèn),這些重?fù)?dān)都將壓在企業(yè)開(kāi)發(fā)人員身上;團(tuán)隊(duì)之間如何高效協(xié)調(diào),快速交付產(chǎn)品,快速部署應(yīng)用,以及滿足企業(yè)業(yè)務(wù)需求,是開(kāi)發(fā)人員亟需解決的問(wèn)題。Docker技術(shù)恰好可以幫助開(kāi)發(fā)人員解決這些問(wèn)題。為了解決開(kāi)發(fā)人員和運(yùn)維人員之間的協(xié)作關(guān)系,加快應(yīng)用交付速度,越來(lái)越多的企業(yè)引入了DevOps這一概念。
傳統(tǒng)的開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)、測(cè)試、運(yùn)維是三個(gè)獨(dú)立運(yùn)作的團(tuán)隊(duì),團(tuán)隊(duì)之間溝通不暢,開(kāi)發(fā)運(yùn)維之間沖突時(shí)有發(fā)生,導(dǎo)致協(xié)作效率低下,產(chǎn)品交付延遲, 影響了企業(yè)的業(yè)務(wù)運(yùn)行。Docker技術(shù)將應(yīng)用以集裝箱的方式打包交付,使應(yīng)用在不同的團(tuán)隊(duì)中共享,通過(guò)鏡像的方式應(yīng)用可以部署于任何環(huán)境中。這樣避免了各團(tuán)隊(duì)之間的協(xié)作問(wèn)題的出現(xiàn),成為企業(yè)實(shí)現(xiàn)DevOps目標(biāo)的重要工具。以容器方式交付的Docker技術(shù)支持不斷地開(kāi)發(fā)迭代,大大提升了產(chǎn)品開(kāi)發(fā)和交付速度。此外,與通過(guò)Hypervisor把底層設(shè)備虛擬化的虛擬機(jī)不同,Docker直接移植于Linux內(nèi)核之上,通過(guò)運(yùn)行Linux進(jìn)程將底層設(shè)備虛擬隔離,這樣系統(tǒng)性能的損耗也要比虛擬機(jī)低的多,幾乎可以忽略。同時(shí),Docker應(yīng)用容器的啟停非常高效,可以支持大規(guī)模的分布系統(tǒng)的水平擴(kuò)展,真正給企業(yè)開(kāi)發(fā)帶來(lái)福音。
聲明:免責(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)容,請(qǐng)發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)
需注明出處:新網(wǎng)idc知識(shí)百科