Docker 教程

Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。

Docker 從 17.03 版本之後分為 CE(Community Edition: 社群版) 和 EE(Enterprise Edition: 企業版),我們用社群版就可以了。


誰適合閱讀本教程?

本教程適合運維工程師及後端開發人員,通過本教程你可以一步一步瞭解 Docker 的使用。


閱讀本教程前,您需要了解的知識

在閱讀本教程前,你需要掌握 Linux 的常用命令。你可以通過本站的 Linux 教程 來學習相關命令。


Docker的應用場景

  • Web 應用的自動化打包和釋出。

  • 自動化測試和持續整合、釋出。

  • 在服務型環境中部署和調整資料庫或其他的後臺應用。

  • 從頭編譯或者擴充套件現有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS 環境。


Docker 的優點

Docker 是一個用於開發,交付和執行應用程式的開放平臺。Docker 使您能夠將應用程式與基礎架構分開,從而可以快速交付軟體。藉助 Docker,您可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付,測試和部署程式碼,您可以大大減少編寫程式碼和在生產環境中執行程式碼之間的延遲。

1、快速,一致地交付您的應用程式

Docker 允許開發人員使用您提供的應用程式或服務的本地容器在標準化環境中工作,從而簡化了開發的生命週期。

容器非常適合持續整合和持續交付(CI / CD)工作流程,請考慮以下示例方案:

  • 您的開發人員在本地編寫程式碼,並使用 Docker 容器與同事共享他們的工作。
  • 他們使用 Docker 將其應用程式推送到測試環境中,並執行自動或手動測試。
  • 當開發人員發現錯誤時,他們可以在開發環境中對其進行修復,然後將其重新部署到測試環境中,以進行測試和驗證。
  • 測試完成後,將修補程式推送給生產環境,就像將更新的映象推送到生產環境一樣簡單。

2、響應式部署和擴充套件

Docker 是基於容器的平臺,允許高度可移植的工作負載。Docker 容器可以在開發人員的本機上,資料中心的物理或虛擬機器上,雲服務上或混合環境中執行。

Docker 的可移植性和輕量級的特性,還可以使您輕鬆地完成動態管理的工作負擔,並根據業務需求指示,實時擴充套件或拆除應用程式和服務。

3、在同一硬體上執行更多工作負載

Docker 輕巧快速。它為基於虛擬機器管理程式的虛擬機器提供了可行、經濟、高效的替代方案,因此您可以利用更多的計算能力來實現業務目標。Docker 非常適合於高密度環境以及中小型部署,而您可以用更少的資源做更多的事情。


相關連結

Docker 官網:https://www.docker.com

Github Docker 原始碼:https://github.com/docker/docker-ce