來源:派臣科技|時間:2020-03-28|瀏覽:次
如果您是一名開發(fā)人員,或者只是一個沉浸在IT世界中的人,那么您可能聽說過Docker。
Docker是一個工具,它通過更容易地使用容器來幫助創(chuàng)建、部署和運行應(yīng)用程序。此工具非常強大,因為它允許開發(fā)人員將應(yīng)用程序與所需的所有部分(如庫和其他依賴項)打包在一起,并將其作為單個包部署。
因此,開發(fā)人員可以放心,應(yīng)用程序?qū)⒃谌魏纹渌鸏inux機器上運行,無論該機器可能有什么自定義設(shè)置。
所以,看看下面,了解更多關(guān)于Docker的信息。
記住,不管你是為財務(wù)、旅行等創(chuàng)建一個應(yīng)用程序,還是為管理WordPress站點或類似的東西創(chuàng)建一個應(yīng)用程序,你肯定需要強大的工具。
當(dāng)然,Docker就是其中一種工具。
誰使用碼頭工人?
Docker是一個為開發(fā)人員和系統(tǒng)管理員設(shè)計的工具。這使得它成為許多DevOps(開發(fā)人員和操作)工具鏈中相當(dāng)重要的一部分。
由于Docker,開發(fā)人員可以專注于編寫代碼,而不必擔(dān)心最終將在其上運行的系統(tǒng)。
這個工具還允許他們優(yōu)勢時使用一個時間的成千上萬的項目已經(jīng)設(shè)計運行在一個碼頭工人容器作為應(yīng)用程序的一部分,這是在其他方面,碼頭工人容器托管的原因之一是一個熱門話題。
當(dāng)涉及到操作人員時,該工具提供了靈活性,并可能減少所需的系統(tǒng)數(shù)量,因為它占用的空間較小,開銷也較低。
碼頭工人的好處
容器的工作方式在某種程度上類似于vm的工作方式。但是,讓我們以更具體的方式來看待它。
容器將單個應(yīng)用程序及其依賴項(應(yīng)用程序運行所需的所有外部軟件庫)與底層操作系統(tǒng)和其他容器隔離開來。
所有的容器化應(yīng)用程序都共享一個單一的、通用的操作系統(tǒng)(Linux或Windows),但是它們彼此隔離,并且與整個系統(tǒng)隔離。
現(xiàn)在,看看Docker和容器的一些主要優(yōu)點。
- Docker允許更快的軟件交付周期
企業(yè)軟件必須快速響應(yīng)變化的條件。換句話說,滿足需求的簡單擴展和根據(jù)業(yè)務(wù)需求添加新特性的簡單更新都是必要的。
Docker容器使快速地將具有新業(yè)務(wù)功能的新版本軟件投入生產(chǎn)變得很容易——如果需要,還可以快速地返回到以前的版本。它們還使實施藍/綠部署等戰(zhàn)略變得更容易。
- Docker能夠充分利用系統(tǒng)資源
容器化應(yīng)用程序比虛擬機占用的內(nèi)存少得多。它們的啟動和停止速度更快,并且可以在主機硬件上進行更密集的打包。因此,所有這些都有助于減少花費。
節(jié)省的成本將根據(jù)所使用的應(yīng)用程序和它們的資源密集程度而有所不同,但是容器總是比vm更有效。
還可以節(jié)省軟件許可證的成本,因為運行相同的工作負載需要更少的操作系統(tǒng)實例。
- Docker允許應(yīng)用程序的可移植性
在哪里運行企業(yè)應(yīng)用程序非常重要。如果您在防火墻后運行它,這很重要,因為您希望在您的附近保持一切安全。
但是,為了方便公共訪問和資源的高彈性,也可以將其放在公共云中。
Docker容器封裝了應(yīng)用程序運行所需的所有東西(并且只封裝那些東西),它們允許應(yīng)用程序在不同環(huán)境之間輕松切換。
安裝了Docker運行時的任何主機——開發(fā)人員的筆記本電腦或公共云實例——都可以運行Docker容器。
-微服務(wù)的Docker
由于Docker容器是輕量級的、可移植的和自包含的,所以更容易按照前瞻性的思路構(gòu)建軟件,這樣您就不必試圖用過去的開發(fā)方法來解決未來的問題。
容器簡化的軟件模式之一是微服務(wù),其中的應(yīng)用程序由許多松散耦合的組件組成。
通過將傳統(tǒng)的單塊應(yīng)用程序分解為單獨的服務(wù),微服務(wù)允許對業(yè)務(wù)線應(yīng)用程序的不同部分分別進行伸縮、修改和服務(wù)——由單獨的團隊執(zhí)行,如果滿足業(yè)務(wù)需求,還可以在單獨的時間軸上執(zhí)行。
容器不需要實現(xiàn)微服務(wù),但是它們通常非常適合微服務(wù)方法和敏捷開發(fā)過程。
Docker的缺點(Docker不能做的事情)
現(xiàn)在您已經(jīng)了解了Docker容器的更突出的優(yōu)點,讓我們看看這些容器不能做什么。
- Docker不能解決安全問題
默認情況下,容器中的軟件可能比在裸機上運行的軟件更安全,但這有點荒謬。很明顯,一個所有的門都鎖著的房子比一個所有的門都開著的房子要安全得多,對吧?
這并不能說明附近的情況,也不能說明小偷會尋找的貴重物品是否可見,也不能說明住在那里的人的日常生活,等等。
容器可以為應(yīng)用程序添加一層安全層,但僅作為在上下文中保護應(yīng)用程序的一般程序的一部分。記住那件事!
- Docker不能代替虛擬機
有一個巨大的誤解,認為容器實際上使虛擬機過時了。
許多過去在VM中運行的應(yīng)用程序可以移動到一個容器中,但這并不意味著它們可以或應(yīng)該全部移動。
例如,如果您所在的行業(yè)有嚴格的監(jiān)管要求,您可能無法將容器替換為vm,因為vm比容器提供了更多的隔離。
- Docker不能奇跡般地把應(yīng)用轉(zhuǎn)換成微服務(wù)
如果您包含一個現(xiàn)有的應(yīng)用程序,那么可以減少它的資源消耗并使其更容易部署。但這并不一定會改變應(yīng)用程序的設(shè)計,或者它與其他應(yīng)用程序的交互方式。
這些好處只是開發(fā)人員努力工作的結(jié)果,而不是強制要求將所有東西都移到容器中。將一個老式的單片或soa風(fēng)格的應(yīng)用程序放入容器中,您最終將得到一個容器中的舊應(yīng)用程序。
這并沒有使它對你的工作更有用。它實際上使它變得不那么有用了。
最終的想法
可以肯定地說,企業(yè)開發(fā)工作是出了名的墨守成規(guī),在面對變化時反應(yīng)遲鈍。
在企業(yè)級軟件上工作的開發(fā)人員必須一直處理這些約束。IT部門對他們施加了一些限制,他們的公司也提出了一些要求。
Docker和容器為開發(fā)人員提供了更多需要的自由。但與此同時,它們也為開發(fā)人員提供了構(gòu)建業(yè)務(wù)應(yīng)用程序的新方法,這些業(yè)務(wù)應(yīng)用程序可以快速響應(yīng)注定要改變的業(yè)務(wù)條件。