問答中心
Answer Center
首頁
產(chǎn)品
解決方案
關(guān)于我們
服務(wù)支持
聯(lián)系我們
Answer Center
下載中心
視頻中心
常見問題
售后服務(wù)
時(shí)間:2023-12-15 13:41:32
點(diǎn)擊:1413
關(guān)鍵詞:Docker
Docker是一個(gè)開源的應(yīng)用容器引擎,它讓開發(fā)者可以將他們的應(yīng)用和依賴打包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
一個(gè)完整的Docker由以下幾個(gè)部分組成:
1. Docker主機(jī)(Host):安裝了Docker程序的機(jī)器。
2. Docker客戶端(Client):連接Docker主機(jī)進(jìn)行操作。
3. Docker倉(cāng)庫(kù)(Registry):用來保存各種打包好的軟件鏡像。
4. Docker鏡像(Images):軟件打包好的鏡像,放在Docker倉(cāng)庫(kù)中。
5. Docker容器(Container):鏡像啟動(dòng)后的實(shí)例成為一個(gè)容器;容器是獨(dú)立運(yùn)行的一個(gè)或者一組應(yīng)用。
Docker使用沙箱機(jī)制,容器之間不會(huì)有任何接口。它基于LXC的高級(jí)容器引擎,源代碼托管在Github上,基于go語言并遵從Apache2.0協(xié)議開源。
Docker的作用主要有以下幾點(diǎn):
1. 更好地利用資源:虛擬機(jī)的粒度是“虛擬出的機(jī)器”,而Docker的粒度則是“被限制的應(yīng)用”,相比較而言,Docker的內(nèi)存占用更少,更加輕量級(jí)。
2. 為微服務(wù)定制:Docker可以很好地和微服務(wù)結(jié)合起來,從概念上來說,一個(gè)微服務(wù)便是一個(gè)提供一整套應(yīng)用程序的部分功能,Docker便可以在開發(fā)、測(cè)試和部署過程中一直充當(dāng)微服務(wù)的容器。甚至生產(chǎn)環(huán)境也可以在Docker中部署微服務(wù)。
3. 在云服務(wù)提供商之間移植:大多數(shù)的云主機(jī)提供商已經(jīng)全面支持Docker。
4. 代碼管道化管理:能夠?qū)Υa以流式pipeline管道化進(jìn)行管理,從開發(fā)者的機(jī)器到生產(chǎn)環(huán)境機(jī)器這個(gè)流程中都能有效管理。因?yàn)樵谶@個(gè)流程中會(huì)有各種不同的環(huán)境,每個(gè)都可能有微小的區(qū)別,Docker提供了跨越這些異構(gòu)環(huán)境以一致性的微環(huán)境,從開發(fā)到部署實(shí)現(xiàn)流暢發(fā)布。
5. 開發(fā)人員的生產(chǎn)化:在一個(gè)開發(fā)環(huán)境,我們希望我們的開發(fā)環(huán)境能更加接近于生產(chǎn)環(huán)境,我們會(huì)讓每個(gè)服務(wù)運(yùn)行在自己的VM中,這樣能模擬生產(chǎn)環(huán)境。比如有時(shí)我們并不總是需要跨越網(wǎng)絡(luò)連接,這樣我們可以將多個(gè)Docker裝載一系列服務(wù)運(yùn)行在單機(jī)上最大程度模擬生產(chǎn)分布式部署的環(huán)境。實(shí)現(xiàn)應(yīng)用之間的解耦,將多個(gè)應(yīng)用服務(wù)部署在多個(gè)Docker中能輕松達(dá)到這個(gè)目的。
6. 提供同樣類似VM的能力,但是沒有任何副作用:它能讓你將環(huán)境和配置放入代碼然后部署,同樣的Docker配置能夠在各種環(huán)境中使用,這實(shí)際是將應(yīng)用環(huán)境和底層環(huán)境實(shí)現(xiàn)了解耦。
免責(zé)聲明:本網(wǎng)站部分文章、圖片等信息來源于網(wǎng)絡(luò),版權(quán)歸原作者平臺(tái)所有,僅用于學(xué)術(shù)分享,如不慎侵犯了你的權(quán)益,請(qǐng)聯(lián)系我們,我們將做刪除處理!