日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

了解最常用的開發(fā)技術(shù)之一背后的基礎(chǔ)組件和系統(tǒng)的基礎(chǔ)

Docker架構(gòu)概述

Image source: Docker Logos and Photos

如果您最近來到了一個(gè)美好的容器世界,或者您已經(jīng)來過一段時(shí)間,那么了解可以協(xié)同工作以提供Docker巨大好處的基礎(chǔ)系統(tǒng)和元素可能不是一個(gè)壞主意。

了解基礎(chǔ)

鏡像還是容器?

首先是第一件事。 具有基本術(shù)語的明確知識(shí)從未傷害任何人。 鏡像和容器似乎是等效的術(shù)語-它們不是同一回事嗎? 我的意思是,我都使用它們將我的應(yīng)用程序投放到某些服務(wù)器,PaaS或其他任何服務(wù)器上。

好,是的,但實(shí)際上沒有

可以根據(jù)軟件開發(fā)將容器描述為鏡像實(shí)例。 該語句有一些含義:

· 可以從同一鏡像中生成無限數(shù)量的容器。

· 鏡像內(nèi)部的資源將出現(xiàn)在其所有生成的容器中。 哪種資源? 任何:文件,服務(wù),二進(jìn)制文件,cron作業(yè)等。

· 刪除容器后,其所有內(nèi)容都將丟失。 稍后,我們將學(xué)習(xí)如何處理數(shù)據(jù)持久性。

實(shí)際的鏡像容器差異

我們了解到,容器就是某種鏡像實(shí)例。 了解基本區(qū)別就足夠了。 但是要提高我們的Docker技能,我們需要更深入地了解鏡像概念。

鏡像是一疊圖層。 那是一層呢? 一層是相對(duì)于上一層的一組差異。 Dockerfile是定義如何構(gòu)建鏡像的文件。 該文件中的每條指令代表鏡像的一層。 層被緩存以更快地構(gòu)建鏡像,因此良好的Dockerfile實(shí)現(xiàn)確實(shí)可以使構(gòu)建時(shí)間和鏡像大小有所不同。

Docker架構(gòu)概述

Image layers as explained by docs.docker.com

這是真正的交易。 生成容器時(shí),我們將獲取鏡像的圖層堆棧,并在頂部(容器層)上生成一個(gè)可寫層。 容器生命周期中生成的所有更改都將寫入此層。 因此,刪除容器時(shí),容器層數(shù)據(jù)將丟失。

Docker架構(gòu)概述

Multiple containers from the same image, docs.docker.com

Docker架構(gòu)101

Docker引擎

您是否嘗試安裝Docker? 您可能已經(jīng)注意到,不僅需要安裝Docker,還需要安裝dockerd。

那是因?yàn)镈ocker是一個(gè)客戶端服務(wù)器應(yīng)用程序。 您必須同時(shí)擁有這兩個(gè)部分才能在計(jì)算機(jī)上運(yùn)行Docker應(yīng)用程序。 此客戶端-服務(wù)器串聯(lián)稱為docker引擎。

docker客戶端只是一個(gè)CLI工具,用于針對(duì)REST API發(fā)出請(qǐng)求,該REST API負(fù)責(zé)與docker守護(hù)程序或dockerd進(jìn)行交互。 dockerd將處理操作系統(tǒng)以確保容器的正確行為。

Docker架構(gòu)概述

Docker engine as explained by docs.docker.com

 

等等,您是否說了有關(guān)客戶端服務(wù)器的內(nèi)容? 這是否意味著我可以向遠(yuǎn)程Docker守護(hù)程序拋出請(qǐng)求? 好了,您現(xiàn)在可能已經(jīng)意識(shí)到諸如Kubernetes,OpenShift和Docker Swarm之類的編排服務(wù)是如何工作的。

大圖景

現(xiàn)在我們對(duì)Docker的主要元素有了清晰的了解,它們?nèi)绾螀f(xié)同工作?

每當(dāng)在Docker客戶端中創(chuàng)建請(qǐng)求時(shí),該請(qǐng)求都會(huì)發(fā)送到Docker守護(hù)程序,它將執(zhí)行所需的操作。

讓我們以運(yùn)行redis容器為例。 我們通過運(yùn)行docker run redis指令來實(shí)現(xiàn)這一點(diǎn)。

Docker架構(gòu)概述

Docker architecture, docs.docker.com

首先,我們的計(jì)算機(jī)將向已配置的Docker主機(jī)API發(fā)出請(qǐng)求,該API將與Docker守護(hù)程序進(jìn)行交互。

至此,守護(hù)程序知道其必須執(zhí)行的操作。 它將在主機(jī)注冊(cè)表上查找redis鏡像。 如果不存在,則會(huì)進(jìn)行一次新查找,這次將針對(duì)已配置的鏡像注冊(cè)表(Docker Hub,ECR,ACR,GCR等)進(jìn)行搜索并提取(下載)。 然后,它將基于下載的生成一個(gè)容器。

 

其他主要Docker零件

持久性問題

如果由于某種原因,我們的postgres容器崩潰了,并且無法再次啟動(dòng),則我們可能需要移除該容器并運(yùn)行另一個(gè)容器。 但是,如前所述,容器層數(shù)據(jù)將丟失,我們不想丟失所有數(shù)據(jù),是嗎?

為持久性問題提供的兩個(gè)解決方案是卷和綁定安裝。 通過這兩者,我們可以將正在運(yùn)行的容器的文件系統(tǒng)持久保存到主機(jī)中。

一方面,卷將數(shù)據(jù)存儲(chǔ)在主機(jī)中,只有dockerd可以修改此文件系統(tǒng)。 這是通常存儲(chǔ)數(shù)據(jù)的首選方式。

另一方面,使用綁定安裝,我們不僅可以將目錄安裝到容器中,還可以將具體文件安裝到容器中。 另外,綁定安裝允許安裝任何主機(jī)目錄或文件。 這意味著我們可以從主機(jī)將數(shù)據(jù)插入到容器中。 對(duì)于配置文件而言,這是巨大的。

Docker架構(gòu)概述

Different data storage provided by Docker, docs.docker.com

第三種數(shù)據(jù)掛載模式tmps,在linux主機(jī)中使用,用于持久存儲(chǔ)我們不想在容器層或主機(jī)文件系統(tǒng)中寫入的數(shù)據(jù)(例如密鑰)。 此數(shù)據(jù)保留在主機(jī)內(nèi)存中。

為什么我的容器無法ping通google?

也許您想在與世界隔絕的計(jì)算機(jī)中運(yùn)行驚人的Web應(yīng)用程序。 但是,這并不是Docker的主要用例,因此網(wǎng)絡(luò)在編排Docker容器時(shí)起著重要的作用。

Docker提供了將不同類型的網(wǎng)絡(luò)驅(qū)動(dòng)程序附加到運(yùn)行中的容器的可能性,從而實(shí)現(xiàn)了容器與另一個(gè)容器,Docker主機(jī)和/或Internet之間的連接。

Docker架構(gòu)概述

Example of a bridge network provided by docs.docker.com

由于容器本身并不需要真正的網(wǎng)絡(luò)知識(shí),因此我們將在本主題中另辟piece徑。

 

去玩吧!

現(xiàn)在,您應(yīng)該對(duì)不同的Docker資源如何協(xié)同工作有一個(gè)更清晰的認(rèn)識(shí)。 您現(xiàn)在應(yīng)該至少能夠理解"容器世界"中討論的大多數(shù)概念的表面。

我邀請(qǐng)您進(jìn)行自己的研究,以更深入地研究這些主題,并構(gòu)建和部署您的容器化應(yīng)用。 這里有一些想法:

· 嘗試不同的卷/網(wǎng)絡(luò)模式。

· 測試層緩存與無緩存的構(gòu)建時(shí)間。

· 嘗試多步驟構(gòu)建。

· 沉迷于出色的docker-compose。

 

(本文翻譯自Víctor Suárez Fernández的文章《An Overview of Docker Architecture》,參考:https://medium.com/better-programming/an-overview-to-docker-architecture-15407c482c52)

分享到:
標(biāo)簽:架構(gòu) Docker
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定