1.什么是Docker

注意

以下內(nèi)容完全摘自Docker官方文檔,僅為學(xué)習(xí)及技術(shù)分享所用,切勿用于商業(yè)用途,轉(zhuǎn)載請注明出處。

以下為正文


什么是Docker

概述

Docker是全世界最頂級的軟件容器平臺。開發(fā)人員利用Docker來解決與他人共同開發(fā)時(shí)遇到的所謂 “代碼在我的機(jī)器上是可以成功運(yùn)行的(怎么在別人機(jī)器上就運(yùn)行不了呢?)”問題。運(yùn)維人員利用Docker來將應(yīng)用程序運(yùn)行在完全隔離的獨(dú)立容器中,以達(dá)到更高密度(并行)地運(yùn)行程序。企業(yè)利用Docker來構(gòu)建敏捷的軟件開發(fā)交付流程,更快地發(fā)布新的功能,更安全地將應(yīng)用運(yùn)行在Linux和Windows服務(wù)器上。

什么是容器?

使用容器技術(shù),所有運(yùn)行一個(gè)應(yīng)用程序所需的資源都會被打包到一個(gè)單獨(dú)的容器中。不像VMs(虛擬機(jī)技術(shù)),容器不需要綁定一個(gè)完整的操作系統(tǒng),只需要運(yùn)行某個(gè)應(yīng)用程序所需的類庫和相關(guān)設(shè)置。這種方式更加高效、輕量級并保證無論部署在什么環(huán)境,應(yīng)用程序都能保持一致的運(yùn)行效果。

Docker之于開發(fā)

Docker能夠自動化程序開發(fā)過程中那些重復(fù)部署配置開發(fā)環(huán)境的工作,讓開發(fā)人員可以更加專注在自己本職工作中:編寫偉大的應(yīng)用。

開發(fā)人員使用Docker不需要安裝和配置復(fù)雜的數(shù)據(jù)庫,也不用擔(dān)心切換不同開發(fā)語言和工具鏈版本遇到的麻煩。當(dāng)一個(gè)應(yīng)用程序被docker化之后,所有這些跟開發(fā)環(huán)境相關(guān)的復(fù)雜工作將由容器輕松地負(fù)責(zé),包括構(gòu)建環(huán)境、共享配置和運(yùn)行程序。當(dāng)您的開發(fā)團(tuán)隊(duì)加入新的共同開發(fā)人員,您不再需要花費(fèi)數(shù)小時(shí)安裝軟件和解釋設(shè)置流程。通過Dockerfiles(描述Docker容器鏡像配置的文件)封裝好的代碼可以簡便地進(jìn)行工作:所有依賴關(guān)系都會被打包到Docker鏡像文件中,任何Docker使用者都可以在幾分鐘的時(shí)間內(nèi)完成編輯、安裝、構(gòu)建和調(diào)試應(yīng)用程序。

Docker之于程序開發(fā),具有以下特性:

支持運(yùn)行任何程序、語言和技術(shù)棧

使用Docker可以構(gòu)建、測試、調(diào)試和部署運(yùn)行在Linux和Windows服務(wù)器容器的應(yīng)用程序,無論該程序是用什么語言開發(fā),并且避免版本不兼容帶來的風(fēng)險(xiǎn)。

美好的開發(fā)體驗(yàn)

使用Docker可以減少新開發(fā)人員培訓(xùn)時(shí)間65%,可以快速構(gòu)建、測試和運(yùn)行復(fù)雜的多容器應(yīng)用程序,減少安裝維護(hù)服務(wù)器和開發(fā)者機(jī)器上的軟件所浪費(fèi)的時(shí)間。同時(shí),所有的依賴關(guān)系都運(yùn)行中容器內(nèi)部,解決了“代碼在我機(jī)器上可以運(yùn)行,在別人機(jī)器上無法運(yùn)行”的問題。

內(nèi)置容器調(diào)配

Docker自帶配置簡易的swarm集群管理。在此環(huán)境下測試和Debug應(yīng)用程序內(nèi)需完成最小化的配置,就能像運(yùn)行在生產(chǎn)環(huán)境中一樣。

Docker之于運(yùn)維

Docker 簡化了應(yīng)用程序交付流程??梢詼p少發(fā)布新功能和修復(fù)補(bǔ)丁時(shí)遇到的障礙。還可以支持實(shí)時(shí)擴(kuò)展應(yīng)用程序。

Docker是開發(fā)團(tuán)隊(duì)和IT運(yùn)維團(tuán)隊(duì)的“秘密武器”,允許他們自動地、安全地、便捷地構(gòu)建、打包、測試和調(diào)試應(yīng)用程序。不再需要wiki和README文檔,不再需要冗長的運(yùn)行說明,不再需要陳舊的運(yùn)行注意事項(xiàng)。使用Docker的團(tuán)隊(duì)清楚他們的鏡像無論在開發(fā)、測試還是生產(chǎn)環(huán)境中都是一致運(yùn)行的。新的功能和修復(fù)補(bǔ)丁可以快速、減少沖突和宕機(jī)機(jī)間地發(fā)布給用戶。

更快的打包發(fā)布(SHIP 13X MORE)

使用Docker可以更頻繁地打包發(fā)布應(yīng)用(平均多13次)。Docker使用團(tuán)隊(duì)可以將應(yīng)用程序的更新、補(bǔ)丁、新功能更快地發(fā)布給用戶。

快速擴(kuò)展

內(nèi)置的集群調(diào)度工具可以將Docker集群輕松擴(kuò)展到成百上千臺實(shí)例節(jié)點(diǎn)和容器上。Docker容器可以在數(shù)秒內(nèi)完成啟動和關(guān)閉,使程序服務(wù)容量更簡單地進(jìn)行擴(kuò)展,以滿足高峰期用戶訪問流量要求,當(dāng)高峰期需求過后,可以簡便地減小集群容量。

提高工作效率

使用Docker可以提高運(yùn)行維護(hù)工作10倍的工作效率。Docker讓部署、認(rèn)證和解決問題的效率更高,節(jié)約了IT運(yùn)維整體成本。部署更新過程中的宕機(jī)時(shí)間也減少了,或者當(dāng)出現(xiàn)小錯(cuò)誤時(shí),可以做到快速回滾。

分發(fā)和共享內(nèi)容

可以通過本地或者云端上的Docker Registry(Docker鏡像注冊庫)來構(gòu)建、管理和分發(fā)Docker鏡像文件。鏡像文件的更新、配置更改和構(gòu)建歷史記錄可以自動跨組織、跨團(tuán)隊(duì)進(jìn)行同步和共享。

簡便地共享應(yīng)用程序

Docker保證應(yīng)用程序在任何地方(硬件環(huán)境)都能運(yùn)行一致。使用Docker鏡像,整個(gè)技術(shù)棧和配置都是鏡像的一部分,只需在運(yùn)行的主機(jī)上安裝Docker,而無需進(jìn)行其他配置。

確保應(yīng)用程序的安全

Docker可以讓經(jīng)過認(rèn)證的用戶安全地進(jìn)行協(xié)作,并保證代碼讓其能夠輕松移植到生產(chǎn)環(huán)境。Docker Content Trust和內(nèi)存安全確保了正確的代碼讓正確的人在正確的時(shí)間執(zhí)行。

Docker之于企業(yè)

Docker是現(xiàn)代化應(yīng)用程序平臺的“心臟”,它是開發(fā)與運(yùn)維,Linux與Windows之間的橋梁。Docker無論在本地環(huán)境還是云端都能一致運(yùn)行,同時(shí)支持傳統(tǒng)和微服務(wù)的架構(gòu)。使用Docker可以構(gòu)建、聯(lián)網(wǎng)、安全地調(diào)度容器,管理容器,無論是開發(fā)環(huán)境還是生產(chǎn)環(huán)境。Docker通過支持所有應(yīng)用程序敏捷地、可運(yùn)行于云端地、安全地、最優(yōu)成本地運(yùn)行,從而支撐企業(yè)向數(shù)字化運(yùn)營轉(zhuǎn)變。

所有應(yīng)用、一個(gè)平臺

Docker為所有應(yīng)用提供統(tǒng)一的框架,無論是傳統(tǒng)整合型還是微服務(wù),Linux還是Windows,本地的還是云端的,Docker都提供了一個(gè)標(biāo)準(zhǔn)的容器和工作流,安全、敏捷并且便捷地運(yùn)行和維護(hù)應(yīng)用。

快速創(chuàng)新和擴(kuò)展

Docker容器通過自動化發(fā)布流程加快了微服務(wù)架構(gòu)的新應(yīng)用的交付周期。新的功能可以更頻繁、更快速地發(fā)布(或回滾)來處理用戶需求。


Docker常見應(yīng)用場景

將傳統(tǒng)應(yīng)用現(xiàn)代化

利用Docker在無需改變?nèi)魏未a的情況下,可以將已存在的傳統(tǒng)應(yīng)用程序打包進(jìn)容器中運(yùn)行,快速提高程序的安全性、節(jié)省成本并獲得可將其輕松移植到云端。

微服務(wù)

容器技術(shù)天生就支持使微服務(wù)架構(gòu)模型的開發(fā)和部署。

DEVOPS (CI/CD)持續(xù)集成并交付

加速并自動化應(yīng)用程序開發(fā)流程,獲得更快的迭代,同時(shí)解決程序版本庫沖突,提升開發(fā)效率。

基礎(chǔ)設(shè)施優(yōu)化

通過在相同的服務(wù)器上并行運(yùn)行容器化的程序,進(jìn)一步提高運(yùn)行效率。Docker通過調(diào)配基礎(chǔ)設(shè)施資源、提高使用率、加速云端集成等措施來優(yōu)化基礎(chǔ)設(shè)施,從而節(jié)省運(yùn)行維護(hù)成本。

混合云端環(huán)境

從私有數(shù)據(jù)中心到公有云基礎(chǔ)設(shè)施,Docker允許應(yīng)用程序在無需重新編碼的情況下,便捷地在各種環(huán)境中進(jìn)行移植。加快了往云端遷移的效率,并且支持混合或多種云環(huán)境共存的情形。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Docker — 云時(shí)代的程序分發(fā)方式 要說最近一年云計(jì)算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,828評論 15 147
  • 0. 前言 docker是什么?docker是用GO語言開發(fā)的應(yīng)用容器引擎,基于容器化,沙箱機(jī)制的應(yīng)用部署技術(shù)???..
    sessionboy閱讀 4,000評論 2 49
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,728評論 0 120
  • 睜開雙眼, 發(fā)現(xiàn)自己已無睡意。 尋找著一個(gè)舒適的姿勢, 慵懶的躺在床上。 不知道該干的什么, 只是想享受一下, 這...
    老郎閱讀 236評論 0 0
  • 我生活在一個(gè)許多文青都想來走一遭的2.5線小城,大學(xué)剛來這里的時(shí)候驚異于大街上10點(diǎn)才懶洋洋陸續(xù)開起的鋪?zhàn)印T?..
    cofi獅子貓閱讀 201評論 0 0

友情鏈接更多精彩內(nèi)容