Docker 教程
Docker 是一個開源的應(yīng)用容器引擎,基于?Go 語言?并遵從 Apache2.0 協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上,也可以實現(xiàn)虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
Docker 從 17.03 版本之后分為 CE(Community Edition: 社區(qū)版) 和 EE(Enterprise Edition: 企業(yè)版),我們用社區(qū)版就可以了。
誰適合閱讀本教程?
本教程適合運維工程師及后端開發(fā)人員,通過本教程你可以一步一步了解 Docker 的使用。
閱讀本教程前,您需要了解的知識
在閱讀本教程前,你需要掌握 Linux 的常用命令。你可以通過本站的?Linux 教程?來學(xué)習(xí)相關(guān)命令。
Docker的應(yīng)用場景
- Web 應(yīng)用的自動化打包和發(fā)布。
- 自動化測試和持續(xù)集成、發(fā)布。
- 在服務(wù)型環(huán)境中部署和調(diào)整數(shù)據(jù)庫或其他的后臺應(yīng)用。
- 從頭編譯或者擴(kuò)展現(xiàn)有的 OpenShift 或 Cloud Foundry 平臺來搭建自己的 PaaS 環(huán)境。
Docker 的優(yōu)點
Docker 是一個用于開發(fā),交付和運行應(yīng)用程序的開放平臺。Docker 使您能夠?qū)?yīng)用程序與基礎(chǔ)架構(gòu)分開,從而可以快速交付軟件。借助 Docker,您可以與管理應(yīng)用程序相同的方式來管理基礎(chǔ)架構(gòu)。通過利用 Docker 的方法來快速交付,測試和部署代碼,您可以大大減少編寫代碼和在生產(chǎn)環(huán)境中運行代碼之間的延遲。
1、快速,一致地交付您的應(yīng)用程序
Docker 允許開發(fā)人員使用您提供的應(yīng)用程序或服務(wù)的本地容器在標(biāo)準(zhǔn)化環(huán)境中工作,從而簡化了開發(fā)的生命周期。
容器非常適合持續(xù)集成和持續(xù)交付(CI / CD)工作流程,請考慮以下示例方案:
- 您的開發(fā)人員在本地編寫代碼,并使用 Docker 容器與同事共享他們的工作。
- 他們使用 Docker 將其應(yīng)用程序推送到測試環(huán)境中,并執(zhí)行自動或手動測試。
- 當(dāng)開發(fā)人員發(fā)現(xiàn)錯誤時,他們可以在開發(fā)環(huán)境中對其進(jìn)行修復(fù),然后將其重新部署到測試環(huán)境中,以進(jìn)行測試和驗證。
- 測試完成后,將修補程序推送給生產(chǎn)環(huán)境,就像將更新的鏡像推送到生產(chǎn)環(huán)境一樣簡單。
2、響應(yīng)式部署和擴(kuò)展
Docker 是基于容器的平臺,允許高度可移植的工作負(fù)載。Docker 容器可以在開發(fā)人員的本機上,數(shù)據(jù)中心的物理或虛擬機上,云服務(wù)上或混合環(huán)境中運行。
Docker 的可移植性和輕量級的特性,還可以使您輕松地完成動態(tài)管理的工作負(fù)擔(dān),并根據(jù)業(yè)務(wù)需求指示,實時擴(kuò)展或拆除應(yīng)用程序和服務(wù)。
3、在同一硬件上運行更多工作負(fù)載
Docker 輕巧快速。它為基于虛擬機管理程序的虛擬機提供了可行、經(jīng)濟(jì)、高效的替代方案,因此您可以利用更多的計算能力來實現(xiàn)業(yè)務(wù)目標(biāo)。Docker 非常適合于高密度環(huán)境以及中小型部署,而您可以用更少的資源做更多的事情。
文章來源于網(wǎng)絡(luò),侵刪!