![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuEDMyV2aj9GZvwFNw8CX2EDMy8CXzRWYvxGc19CX05WZ052bj1Cc39CXt92YuI2bv5Wdy5yd3d3Lc9CX6MHc0RHaiojIsJye.png)
Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從 Apache2.0 協定開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實作虛拟化。
容器是完全使用沙箱機制,互相之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker 從 17.03 版本之後分為 CE(Community Edition: 社群版) 和 EE(Enterprise Edition: 企業版),我們用社群版就可以了。
本教程适合運維工程師及後端開發人員,通過本教程你可以一步一步了解 Docker 的使用。
在閱讀本教程前,你需要掌握 Linux 的常用指令。你可以通過本站的 Linux 教程 來學習相關指令。
Web 應用的自動化打包和釋出。
自動化測試和持續內建、釋出。
在服務型環境中部署和調整資料庫或其他的背景應用。
從頭編譯或者擴充現有的 OpenShift 或 Cloud Foundry 平台來搭建自己的 PaaS 環境。
Docker 是一個用于開發,傳遞和運作應用程式的開放平台。Docker 使您能夠将應用程式與基礎架構分開,進而可以快速傳遞軟體。借助 Docker,您可以與管理應用程式相同的方式來管理基礎架構。通過利用 Docker 的方法來快速傳遞,測試和部署代碼,您可以大大減少編寫代碼和在生産環境中運作代碼之間的延遲。
Docker 允許開發人員使用您提供的應用程式或服務的本地容器在标準化環境中工作,進而簡化了開發的生命周期。
容器非常适合持續內建和持續傳遞(CI / CD)工作流程,請考慮以下示例方案:
您的開發人員在本地編寫代碼,并使用 Docker 容器與同僚共享他們的工作。
他們使用 Docker 将其應用程式推送到測試環境中,并執行自動或手動測試。
當開發人員發現錯誤時,他們可以在開發環境中對其進行修複,然後将其重新部署到測試環境中,以進行測試和驗證。
測試完成後,将修補程式推送給生産環境,就像将更新的鏡像推送到生産環境一樣簡單。
Docker 是基于容器的平台,允許高度可移植的工作負載。Docker 容器可以在開發人員的本機上,資料中心的實體或虛拟機上,雲服務上或混合環境中運作。
Docker 的可移植性和輕量級的特性,還可以使您輕松地完成動态管理的工作負擔,并根據業務需求訓示,實時擴充或拆除應用程式和服務。
Docker 輕巧快速。它為基于虛拟機管理程式的虛拟機提供了可行、經濟、高效的替代方案,是以您可以利用更多的計算能力來實作業務目标。Docker 非常适合于高密度環境以及中小型部署,而您可以用更少的資源做更多的事情。
Docker 官網:https://www.docker.com
Github Docker 源碼:https://github.com/docker/docker-ce