首頁 >運維 >Docker >docker是一種什麼技術

docker是一種什麼技術

青灯夜游
青灯夜游原創
2022-05-12 13:57:283817瀏覽

Docker是一種輕量級的虛擬化技術,可以讓開發者將企業需要的各種應用及應用依賴檔案封裝在Docker映像檔中,然後在任何實體裝置上安裝執行實作虛擬化,讓應用程式徹底脫離底層設備,可以在實體機之間靈活遷移部署,並減少部署過程中的潛在風險。

docker是一種什麼技術

本教學操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

Docker是一種輕量級的虛擬化技術,同時是一個開源的應用容器運行環境建立平台,可以讓開發者以便捷方式打包應用到一個可移植的容器中,然後安裝至任何執行Linux或Windows等系統的伺服器上。相較於傳統虛擬機,Docker容器提供輕量化的虛擬化方式、安裝便利、啟動停止速度快。

為什麼需要Docker容器?

虛擬機器(Virtual Machine,簡稱VM)的發展,減輕了企業對硬體資源的依賴,它將一台實體設備虛擬為多個邏輯設備,每個邏輯設備可運作不同的作業系統,並且應用程式都可以在相互獨立的空間內運作而互不影響,從而顯著提高設備的工作效率。然而,傳統VM需要安裝作業系統才能執行應用程序,佔用系統資源太多。在多數情況下,使用者只需要運行簡單的應用程序,採用VM技術操作繁瑣且造成資源浪費。若需要遷移應用服務程序,則需遷移整個VM,因此企業迫切需要輕量級的虛擬化技術。

容器,就是一種輕量級的虛擬化技術,目的和虛擬機器一樣,都是為了創造「隔離環境」。但它不像VM採用作業系統級的資源隔離,容器採用的是進程級的系統隔離。 Docker作為創建容器的主流工具,近年來迅速發展,它的優勢在於可以讓開發者將企業需要的各種應用及應用依賴文件封裝在Docker鏡像文件中,然後在任何實體設備(Linux設備或Window設備等等)上安裝運行實現虛擬化,讓應用程式徹底脫離底層設備,可以在物理機之間靈活遷移部署,使運維工程師擺脫了繁瑣的環境部署,極大的提高了工作效率,同時減少了部署過程中的潛在風險。

Docker容器有以下三大特點:

  • #輕量級:一台主機上執行的多個Docker容器可以共用主機作業系統核心;啟動迅速,只需佔用很少的運算和記憶體資源。

  • 標準開放:Docker容器基於開放式標準,能夠在所有主流Linux版本、Microsoft Windows以及包括VM、裸機伺服器和雲端在內的任何基礎架構上運行。

  • 安全可靠:Docker賦予應用的隔離性不僅限於彼此隔離,還獨立於底層的基礎設施。 Docker預設提供最強的隔離,因此應用程式出現問題,也只是單一容器的問題,而不會波及到整台主機。

docker優勢主要有以下幾個面向:

  • 快速交付和部署

    使用docker,開發人員可以使用映像快速建置一套標準的開發環境;開發完成後,測試和維運人員可以使用完全相同的環境部署程式碼,只要是開發測試過的程式碼就可以確保在生產環境無縫運行。 docker可以快速建立和刪除容器,實現快速迭代。

  • 高效的資源利用

    運行docker容器不需要額外的虛擬化管理程式的支持,docker是核心層級的虛擬化,可以實現更高的效能,同時對資源的額外需求很低。

  • 輕鬆的遷移和擴展

    docker容器幾乎可以在任意的平台上運行,包括實體機、虛擬機器、公有雲、私有雲、伺服器等,同時支援主流的作業系統發行版本,此相容性讓使用者可以在不同平台間輕鬆的遷移應用程式。

  • 簡單的更新管理

    使用Dockerfile產生映像的方式,只需要小小的設定修改,就可以取代以往大量的更新工作,所有的修改都以增量的方式進行分發和更新,從而實現自動化且高效的容器管理。

docker與虛擬機器區別

  • #docker作為一種輕量級的虛擬化方式,其正在運行應用程式上跟傳統的虛擬機相比具有如下顯著優勢:

  • docker容器很快,啟動和停止均可以在秒級實現,相比傳統的虛擬機需要數分鐘要快得多

  • docker對系統資源需求很少,一台主機上可以同時運行數千個Docker容器

  • Docker通過類似Git設計理念的操作來方便使用者取得、分發和更新鏡像,儲存重複使用,增量更新

  • Docker容器除了運行應用程式外,基本上不消耗額外的系統資源,其應用程式獲得的是接近原生的效能,傳統虛擬機器需要單獨分配記憶體、磁碟等資源

  • Docker透過Dockerfile支援靈活的自動化建立和部署機制,以提高工作效率並標準化流程

  • Docker方便遷移,將映像push到倉庫,可以透過pull映像在任何一台機器上啟動docker

總之,docker比虛擬機器更輕便、使用更方便

推薦學習:《docker視訊教程

以上是docker是一種什麼技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn