最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Docker教程-介紹Docker與容器化

2021-04-16 16:36 作者:信碼由韁  | 我要投稿

【注】本文譯自:
https://www.edureka.co/blog/docker-tutorial

本教程將為您提供 Docker 的概念和實踐知識-一種新時代的容器化技術(shù)。

在本教程中,我們將重點關(guān)注以下主題:

  • 什么是虛擬化?

  • 什么是容器化?

  • 容器化相對于虛擬化的優(yōu)勢

  • 介紹 Docker

  • Docker 的好處

  • 虛擬化與容器化

  • Docker 安裝

  • Dockerfile, Docker 鏡像與 Docker 容器

  • 什么是 Docker Hub?

  • Docker 架構(gòu)

  • Docker Compose

Docker 正變得越來越流行,其用法正像野火一樣擴散。Docker 越來越受歡迎的原因是它可以在 IT 組織中使用的程度。很少有工具能同時對開發(fā)人員和系統(tǒng)管理員有用。Docker 真正兌現(xiàn)了其“構(gòu)建、運輸和運行”的承諾。

簡而言之,Docker 是一個軟件容器化平臺,這意味著您可以構(gòu)建您的應(yīng)用程序,將它們及其依賴項打包到一個容器中,然后可以輕松地將這些容器傳輸?shù)狡渌麢C器上運行。

例如:讓我們考慮一個同時使用 Ruby 和 Python 編寫的基于 linux 的應(yīng)用程序。此應(yīng)用程序需要特定版本的 linux、Ruby 和 Python。為了避免在用戶端出現(xiàn)任何版本沖突,可以創(chuàng)建一個 Linux docker 容器,并隨應(yīng)用程序一起安裝所需的 Ruby 和 Python 版本?,F(xiàn)在,最終用戶可以通過運行此容器輕松地使用應(yīng)用程序,而不必?fù)?dān)心依賴關(guān)系或任何版本沖突。

這些容器使用容器化,可以將其視為虛擬化的演進版本。使用虛擬機也可以完成相同的任務(wù),但是效率不是很高。

在這一點上,我通常會收到一個問題,即虛擬化和容器化之間有什么區(qū)別? 這兩個術(shù)語彼此非常相似。那么,讓我先告訴您什么是虛擬化?

什么是虛擬化?

虛擬化是一種在主機操作系統(tǒng)之上導(dǎo)入來賓操作系統(tǒng)的技術(shù)。這項技術(shù)在一開始就是一個啟示,因為它允許開發(fā)人員在不同的虛擬機中運行多個操作系統(tǒng),而這些虛擬機都在同一主機上運行。這消除了對額外硬件資源的需求。 虛擬機或虛擬化的優(yōu)點是:

  • 可以在同一臺計算機上運行多個操作系統(tǒng)

  • 發(fā)生故障時,維護和恢復(fù)非常容易

  • 由于減少了對基礎(chǔ)設(shè)施的需求,總擁有成本也減少了


在上圖中,您可以看到有一個主機操作系統(tǒng),在該主機操作系統(tǒng)上正在運行 3 個來賓操作系統(tǒng),這些操作系統(tǒng)只是虛擬機。

如您所知,沒有什么是完美的,虛擬化也有一些缺點。在同一主機操作系統(tǒng)中運行多個虛擬機會導(dǎo)致性能下降。這是因為來賓操作系統(tǒng)在主機操作系統(tǒng)之上運行,該操作系統(tǒng)將具有自己的內(nèi)核以及一組庫和依賴項。這占用了大量系統(tǒng)資源,即硬盤、處理器、尤其是 RAM。

使用虛擬化技術(shù)的虛擬機的另一個問題是啟動需要花費近一分鐘的時間。對于實時應(yīng)用程序,這是非常關(guān)鍵的。

以下是虛擬化的缺點:

  • 運行多個虛擬機會導(dǎo)致性能不穩(wěn)定

  • 虛擬機管理程序的效率不如主機操作系統(tǒng)

  • 開機過程很長,需要時間

這些缺點導(dǎo)致出現(xiàn)了一種稱為容器化的新技術(shù)。現(xiàn)在,讓我告訴您有關(guān)容器化的知識。

什么是容器化?

容器化是將虛擬化帶入操作系統(tǒng)級別的技術(shù)。虛擬化為硬件帶來了抽象,而容器化為操作系統(tǒng)帶來了抽象。請注意,容器化也是虛擬化的一種。但是,容器化效率更高,因為這里沒有來賓操作系統(tǒng),它使用主機的操作系統(tǒng),與虛擬機不同,可以在需要時共享相關(guān)的庫和資源。特定于應(yīng)用程序的容器二進制文件和庫在主機內(nèi)核上運行,這使處理和執(zhí)行非??臁<词箚右粋€容器也只需要一秒鐘的時間。因為所有容器都共享,所以將托管操作系統(tǒng)并僅保留與應(yīng)用程序相關(guān)的二進制文件和庫。它們比虛擬機輕巧且速度更快。

容器化相對于虛擬化的優(yōu)勢:

  • 同一操作系統(tǒng)內(nèi)核上的容器更輕、更小

  • 與虛擬機相比,資源利用率更高

  • 啟動過程很短,需要幾秒鐘


在上圖中,您可以看到存在一個由所有容器共享的主機操作系統(tǒng)。容器僅包含特定于應(yīng)用程序的庫,這些庫對于每個容器都是獨立的,并且它們速度更快且不會浪費任何資源。

所有這些容器均由非主機操作系統(tǒng)固有的容器化層處理。因此,需要一個軟件,該軟件可以使您在主機操作系統(tǒng)上創(chuàng)建和運行容器。

現(xiàn)在,讓我來介紹Docker。

Docker 簡介

Docker 是一個容器化平臺,以容器的形式將您的應(yīng)用程序及其所有依賴項打包在一起,以確保您的應(yīng)用程序在任何環(huán)境中都能無縫運行。


如上圖所示,每個應(yīng)用程序?qū)⒃趩为毜娜萜魃线\行,并具有自己的一組庫和依賴項。這也確保了進程級別的隔離,這意味著每個應(yīng)用程序都獨立于其他應(yīng)用程序,從而使開發(fā)人員確信他們可以構(gòu)建不會相互干擾的應(yīng)用程序。

作為開發(fā)人員,我可以構(gòu)建一個容器,上面裝有不同的應(yīng)用程序,然后將其交給我的質(zhì)量檢查團隊,他們只需運行該容器即可復(fù)制開發(fā)人員環(huán)境。

Docker 的好處

現(xiàn)在,QA 團隊無需安裝所有依賴的軟件和應(yīng)用程序來測試代碼,這可以幫助他們節(jié)省大量時間和精力。從開發(fā)到部署,這也確保了工作環(huán)境在流程中涉及的所有個人之間是一致的。可以輕松擴展系統(tǒng)的數(shù)量,并且可以輕松地在其上部署代碼。

虛擬化與容器化

虛擬化和容器化都可以讓您在主機中運行多個操作系統(tǒng)。

虛擬化處理在一臺主機中創(chuàng)建許多操作系統(tǒng)的問題。另一方面,容器化將根據(jù)需要為每種類型的應(yīng)用程序創(chuàng)建多個容器。


從圖中可以看出,主要區(qū)別在于虛擬化中有多個來賓操作系統(tǒng),而容器化中卻沒有。與重型虛擬化相比,容器化的最好之處在于它非常輕巧。

現(xiàn)在,讓我們安裝 Docker。

安裝 Docker:

我將在我的 Ubuntu 17.10 計算機上安裝 Docker。以下是安裝 Docker 的步驟:

  1. 安裝所需的軟件包

  2. 設(shè)置 Docker 倉庫

  3. 在 Ubuntu 上安裝 Docker

1. 安裝所需的軟件包:

您的系統(tǒng)中需要安裝某些軟件包才能安裝 Docker。執(zhí)行以下命令以安裝那些軟件包。

sudo apt-get install curl apt-transport-https ca-certificates software-properties-common


2. 設(shè)置 Docker 倉庫:

現(xiàn)在,導(dǎo)入 Dockers 官方 GPG 密鑰以驗證軟件包簽名,然后再使用 apt-get 安裝它們。在終端上運行以下命令:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add


現(xiàn)在,在您的 Ubuntu 系統(tǒng)上添加包含以下 Docker 軟件包(包括其依賴項)的 Docker 存儲庫,以執(zhí)行以下命令:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"


3. 在 Ubuntu 上安裝 Docker

現(xiàn)在,您需要升級 apt 索引并安裝 Docker 社區(qū)版,為此,請執(zhí)行以下命令:

sudo apt-get update

sudo apt-get install docker-ce



恭喜你!您已成功安裝 Docker。

現(xiàn)在讓我們看看一些重要的 Docker 概念。

Dockerfile, Docker 鏡像與 Docker 容器:

  1. Docker 鏡像是通過在稱為 Dockerfile 的文件中寫入的命令序列創(chuàng)建的。

  2. 當(dāng)使用 docker 命令執(zhí)行該 Dockerfile 時,它會生成帶有名稱的 Docker 鏡像。

  3. 當(dāng)通過“ docker run”命令執(zhí)行此映像時,它將自行啟動執(zhí)行時必須啟動的任何應(yīng)用程序或服務(wù)。

Docker Hub:

Docker Hub 就像 Docker 鏡像的GitHub。它基本上是一個云注冊中心,您可以在其中找到不同社區(qū)上傳的 Docker 鏡像,也可以開發(fā)自己的鏡像并上傳到 Docker Hub 上,但是首先,您需要在 DockerHub 上創(chuàng)建一個帳戶。


Docker 架構(gòu):

它由一個Docker引擎組成,該引擎是一個具有三個主要組件的客戶端-服務(wù)器應(yīng)用程序:


  • 服務(wù)器是一種長期運行的程序,稱為守護程序進程(docker 命令)。

    1. REST API,它指定程序可以用來與守護程序進行通信并指示其操作的接口。

    2. 命令行界面(CLI)客戶端(docker 命令)。

    3. CLI 使用 Docker REST API 通過腳本或直接 CLI 命令來控制 Docker 守護程序或與 Docker 守護程序進行交互。許多其他 Docker 應(yīng)用程序都使用基礎(chǔ) API 和 CLI。

    最后,我將討論 Docker Compose。

    Docker Compose:

    Docker Compose 基本上用于將多個 Docker 容器作為單個服務(wù)器運行。讓我給你舉個例子:

    假設(shè)我有一個需要 WordPress、Maria DB 和 PHP MyAdmin 的應(yīng)用程序。我可以創(chuàng)建一個文件,該文件可以將兩個容器作為服務(wù)啟動,而無需分別啟動每個容器。這真的很有用,尤其是在您具有微服務(wù)架構(gòu)的情況下。


Docker教程-介紹Docker與容器化的評論 (共 條)

分享到微博請遵守國家法律
西乌珠穆沁旗| 夏河县| 招远市| 辉南县| 安徽省| 栖霞市| 金平| 环江| 牟定县| 石阡县| 布拖县| 大邑县| 高密市| 宿迁市| 关岭| 崇州市| 蓬溪县| 平顶山市| 丹巴县| 张家川| 宁安市| 拜城县| 汉川市| 阿城市| 新宁县| 故城县| 宾阳县| 武强县| 双辽市| 金堂县| 阆中市| 文水县| 大渡口区| 兴城市| 永川市| 文昌市| 枣强县| 游戏| 武平县| 襄樊市| 昂仁县|