【快速入門】1-Docker 概述

原文地址:https://docs.docker.com/get-started/overview/

Docker 作爲開發、傳輸和運行應用程序的開源平臺,它能夠讓你的應用與環境分離開來,從而快速地分發你的應用。通過 Docker,你可以像管理你的應用程序一樣來管理的基礎環境。利用 Docker 快速遷移、測試和部署代碼的優勢,你可以非常顯著地減少在編寫代碼和在生產環境運行應用的耗費時間。

1. Docker平臺

Docker 給我們提供了在獨立環境中(後面我們稱之爲**容器**) 打包和運行應用的能力,其獨立性和安全性允許你在宿主機上運行同時多個容器。容器是輕量級的,因爲它們不需要加載額外的管理程序,且直接運行在宿主機內核上。這意味着,對比使用虛擬機,你可以在指定硬件組合上運行更多容器。你甚至可以在虛擬機上運行 Docker 容器。

Docker 提供了工具和平臺來管理容器的生命週期:

  • 使用容器開發應用程序及其支持組件
  • 容器成爲分發和測試應用程序的單元
  • 準備就緒後,將應用程序作爲容器或編排的服務部署到生產環境中。無論您的生產環境是本地數據中心、雲提供商還是兩者的混合體,這都是一樣的。

2. Docker引擎

Docker 引擎是作爲客戶端-服務器端的應用,包含以下主要組件:

  • 服務器:運行守護進程的程序 (dockerd 命令)
  • REST API:指定程序可用的接口,用來和守護進程進行交互,並指示所做的內容
  • 命令行接口(CLI) 工具docker 命令

在這裏插入圖片描述

CLI 通過腳本或者直接命令行方式,使用 Docker API 對 Docker 的守護進程進行控制和交互。許多其他 Docker 應用使用底層的 API 和 CLI。

Docker 守護進程創建和管理 Docker 對象,例如鏡像、容器、網絡和卷。

注意:Docker 符合 Apache 2.0 開源協議。

關於更多信息,可以查看 Docker 架構

3. Docker可以做什麼?

1️⃣ 快速、一致性地分發應用

Docker 簡化了開發的生命週期,允許開發人員在標準化環境(集成應用程序和服務的本地容器) 中工作。容器對於持續集成(continuous integration) 和交付(continuous delivery) 的工作流非常有用。

思考以下的示例場景:

  • 開發人員在本地編寫代碼,並通過 Docker 容器與同事共享工作。
  • 開發人員使用 Docker 將應用程序推送到測試環境中,並執行自動化和手動測試。
  • 當開發人員發現 bug 時,可以在開發環境中修復它們,並將它們重新部署到測試環境中進行測試和驗證。
  • 測試完成後,向客戶提供修復就像將更新後的鏡像推送到生產環境中一樣簡單。

2️⃣ 響應式地部署和擴展

Docker 基於容器的平臺特點,支持高度可移植的工作負載。同時,Docker 容器可以運行在開發人員的本地筆記本電腦上、數據中心的物理機或虛擬機上、雲提供商上或混合環境中。

Docker 的可移植性和輕量級特性也使得動態管理工作負載變得非常容易,根據業務需求,以近乎實時的方式擴展或刪除應用程序和服務。

3️⃣ 在同一硬件上運行更多的工作負載

Docker 具備輕量級和快速的優點,它爲基於管理程序的虛擬機提供了可行的、經濟高效的替代方案,從而可以使用更多的計算能力來實現業務目標。Docker 非常適合高密度環境,以及想要通過更少的資源來做更多事情的中小型部署場景下使用。

4. Docker架構

Docker 使用客戶機-服務器的架構體系,客戶機與守護進程進行交互,

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章