Docker是什么意思

2022-10-04    分類: 網(wǎng)站建設(shè)

Docker是一個開放源代碼軟件項目,讓應(yīng)用程序部署在軟件貨柜下的工作可以自動化進(jìn)行,借此在Linux操作系統(tǒng)上,提供一個額外的軟件抽象層,以及操作系統(tǒng)層虛擬化的自動管理機(jī)制。 Docker 利用 Linux 核心中的資源分離機(jī)制,例如 cgroups,以及 Linux 核心名字空間,來創(chuàng)建獨立的容器。

Docker是什么意思

Docker是什么

 

Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。

一個完整的Docker有以下幾個部分組成:

DockerClient客戶端

Docker Daemon守護(hù)進(jìn)程

Docker Image鏡像

DockerContainer容器

這可以在單一 Linux 實體下運作,避免引導(dǎo)一個虛擬機(jī)造成的額外負(fù)擔(dān)。Linux 核心對名字空間的支持完全隔離了工作環(huán)境中應(yīng)用程序的視野,包括行程樹、網(wǎng)絡(luò)、用戶 ID 與掛載文件系統(tǒng),而核心的 cgroup 提供資源隔離,包括 CPU、存儲器、block I/O 與網(wǎng)絡(luò)。

從 0.9 版本起,Dockers 在使用抽象虛擬是經(jīng)由 libvirt 的 LXC 與 systemd – nspawn 提供界面的基礎(chǔ)上,開始包括 libcontainer 庫做為以自己的方式開始直接使用由 Linux 核心提供的虛擬化的設(shè)施,

依據(jù)行業(yè)分析公司“451 研究”:“Dockers 是有能力打包應(yīng)用程序及其虛擬容器,可以在任何 Linux 服務(wù)器上運行的依賴性工具,這有助于實現(xiàn)靈活性和便攜性,應(yīng)用程序在任何地方都可以運行,無論是公有云、私有云、單機(jī)等。” 。

Docker起源

 

Docker 是PaaS提供商 dotCloud 開源的一個基于LXC的高級容器引擎,源代碼托管在Github上, 基于go語言并遵從Apache2.0協(xié)議開源。

Docker自2013年以來非?;馃?,無論是從 github 上的代碼活躍度,還是Redhat在RHEL6.5中集成對Docker的支持, 就連 Google 的 Compute Engine 也支持 docker 在其之上運行。

一款開源軟件能否在商業(yè)上成功,很大程度上依賴三件事 - 成功的 user case(用例), 活躍的社區(qū)和一個好故事。 dotCloud 自家的 PaaS 產(chǎn)品建立在docker之上,長期維護(hù)且有大量的用戶,社區(qū)也十分活躍,接下來我們看看docker的故事。

環(huán)境管理復(fù)雜 - 從各種OS到各種中間件到各種app, 一款產(chǎn)品能夠成功作為開發(fā)者需要關(guān)心的東西太多,且難于管理,這個問題幾乎在所有現(xiàn)代IT相關(guān)行業(yè)都需要面對。

云計算時代的到來 - AWS的成功, 引導(dǎo)開發(fā)者將應(yīng)用轉(zhuǎn)移到 cloud 上, 解決了硬件管理的問題,然而中間件相關(guān)的問題依然存在 (所以openstack HEAT和 AWS cloudformation 都著力解決這個問題)。開發(fā)者思路變化提供了可能性。

虛擬化手段的變化 - cloud 時代采用標(biāo)配硬件來降低成本,采用虛擬化手段來滿足用戶按需使用的需求以及保證可用性和隔離性。然而無論是KVM還是Xen在 docker 看來,都在浪費資源,因為用戶需要的是高效運行環(huán)境而非OS, GuestOS既浪費資源又難于管理, 更加輕量級的LXC更加靈活和快速

LXC的移動性 - LXC在 linux 2.6 的 kernel 里就已經(jīng)存在了,但是其設(shè)計之初并非為云計算考慮的,缺少標(biāo)準(zhǔn)化的描述手段和容器的可遷移性,決定其構(gòu)建出的環(huán)境難于遷移和標(biāo)準(zhǔn)化管理(相對于KVM之類image和snapshot的概念)。docker 就在這個問題上做出實質(zhì)性的革新。這是docker最獨特的地方。

Docker是什么意思

VM技術(shù)和容器技術(shù)對比

面對上述幾個問題,docker設(shè)想是交付運行環(huán)境如同海運,OS如同一個貨輪,每一個在OS基礎(chǔ)上的軟件都如同一個集裝箱,用戶可以通過標(biāo)準(zhǔn)化手段自由組裝運行環(huán)境,同時集裝箱的內(nèi)容可以由用戶自定義,也可以由專業(yè)人員制造。這樣,交付一個軟件,就是一系列標(biāo)準(zhǔn)化組件的集合的交付,如同樂高積木,用戶只需要選擇合適的積木組合,并且在最頂端署上自己的名字(最后一個標(biāo)準(zhǔn)化組件是用戶的app)。這也就是基于docker的PaaS產(chǎn)品的原型。

本文名稱:Docker是什么意思
文章源于:http://www.muchs.cn/news47/201697.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、自適應(yīng)網(wǎng)站、App設(shè)計網(wǎng)頁設(shè)計公司、電子商務(wù)響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)