docker的優(yōu)勢:1、更高效的利用系統(tǒng)資源;2、更快速的啟動時間;3、一致的運行環(huán)境;4、持續(xù)支付和部署;5、更輕松的遷移;6、更輕松的維護和拓展。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、docker-1.13.1版、Dell G3電腦。
Docker是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,該容器包含了應(yīng)用程序的代碼、運行環(huán)境、依賴庫、配置文件等必需的資源,通過容器就可以實現(xiàn)方便快速并且與平臺解耦的自動化部署方式,無論你部署時的環(huán)境如何,容器中的應(yīng)用程序都會運行在同一種環(huán)境下。
Docker的6大優(yōu)勢
1、更高效的利用系統(tǒng)資源
docker對系統(tǒng)資源的利用率更高,無論是應(yīng)用執(zhí)行速度,內(nèi)存損耗或者文件存儲速度,都要比傳統(tǒng)虛擬機技術(shù)更高效。因此,相比虛擬機技術(shù),一個相同配置的主機往往可以運行更多數(shù)量的應(yīng)用。
2、更快速的啟動時間
傳統(tǒng)的虛擬機技術(shù)啟動應(yīng)用服務(wù)往往需要數(shù)分鐘,而docker容器應(yīng)用,由于直接運行于宿主內(nèi)核,無需啟動完整的操作系統(tǒng),因此可以做到秒級,甚至毫秒級的啟動時間,大大的節(jié)約了開發(fā)測試,部署的時間。
3、一致的運行環(huán)境
開發(fā)過程中常見的一個問題是環(huán)境一致問題,由于開發(fā)環(huán)境,測試環(huán)境,生產(chǎn)環(huán)境不一致,導(dǎo)致有些bug并未在開發(fā)過程中發(fā)現(xiàn)。而docker的鏡像提供了除內(nèi)核外完整的運行時環(huán)境,確保環(huán)境一致性,從而不會在出現(xiàn)“這段代碼在我機器上沒問題”這類問題。
4、持續(xù)支付和部署
對開發(fā)和運維人員來說,最希望就是一次創(chuàng)建和部署,可以在任意的地方運行。(定制應(yīng)用鏡像來實現(xiàn)集成、持續(xù)支付、部署。開發(fā)人員可以通過dockerfile來進行鏡像構(gòu)建,并結(jié)合持續(xù)集成系統(tǒng)進行集成測試,而運維人員則可以直接在生產(chǎn)環(huán)境中快速部署該鏡像,甚至結(jié)合持續(xù)部署系統(tǒng)進行自動部署)。而且使用dockerfile使鏡像構(gòu)建透明化,不僅僅開發(fā)團隊可以理解應(yīng)用運行環(huán)境,也方便運維團隊理解應(yīng)用運行所需條件,幫助更好的生產(chǎn)環(huán)境中部署該鏡像。
5、更輕松的遷移
由于docker確保了執(zhí)行環(huán)境的一致性,使得應(yīng)用的遷移更加的容易。docker可以在很多平臺上運行,無論是物理機、虛擬機、公有云、私有云、甚至是筆記本、其運行結(jié)果是一致的。因此用戶可以很輕易的將在一個平臺上運行的應(yīng)用,遷移到另一個平臺上,而不用擔(dān)心運行環(huán)境的變化導(dǎo)致應(yīng)用無法正常運行的情況。
6、更輕松的維護和拓展
docker使用的分層存儲以及鏡像的技術(shù),使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護更新更加簡單,基于基礎(chǔ)鏡像進一步擴展鏡像也變得十分簡單。此外,docker團隊同各個開源項目團隊一起維護了一大批高質(zhì)量的官網(wǎng)鏡像,既可以直接在生產(chǎn)環(huán)境使用,又可以作為基礎(chǔ)進一步定制,大大的降低了應(yīng)用服務(wù)的鏡像制作成本。
推薦學(xué)習(xí):《docker視頻教程》