什麼是Docker?為什麼使用docker?

老男孩IT教育機構發表於2022-12-28

  Docker是基於Go語言進行開發實現,一個開源的應用容器引擎。

  採用Linux核心的cgroup,namespace,以及AUFS類的Union FS等技術,對程式進行封裝隔離,也可以實現虛擬化。

  隔離的程式獨立於宿主和其他的隔離程式,因此也稱其為容器。

  可以將Docker容器理解為一種輕量級的沙盒,每個容器內執行著一個應用,不同的容器相互隔離,容器之間也可以透過網路互相通訊。

  容器的建立和停止十分快速,幾乎跟建立和終止原生應用一致;

  另外,容器自身對系統資源的額外需求也十分有限,遠遠低於傳統虛擬機器。

  很多時候,直接將容器當作應用本身也沒有任何問題。

  為什麼使用docker

  對於開發和運維人員來說,最希望的效果就是一次建立或者配置後,可以在任意地方、任意時間讓應用正常執行。

  對於演算法研究人員來說,可能不同的演算法需要不同版本的軟體,那麼在同一個環境中就會存在衝突。

  而docker 的環境隔離就可以很方便用於不同環境的配置。

  具體來說,docker優勢主要有以下幾個方面:

  1、快速交付和部署

  使用docker,開發人員可以使用映象快速構建一套標準的開發環境;

  開發完成後,測試和運維人員可以使用完全相同的環境部署程式碼,只要是開發測試過的程式碼就可以確保在生產環境無縫執行。

  docker可以快速建立和刪除容器,實現快速迭代。

  2、高效的資源利用

  執行docker容器不需要額外的虛擬化管理程式的支援。

  docker是核心級的虛擬化,可以實現更高的效能,同時對資源的額外需求很低。

  3、輕鬆的遷移和擴充套件

  docker容器幾乎可以在任意的平臺上執行,包括物理機、虛擬機器、公有云、私有云、伺服器等。

  同時支援主流的作業系統發行版本,這種相容性讓使用者可以在不同平臺間輕鬆的遷移應用。

  4、簡單的更新管理

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

  docker架構分析

  如下圖所示,Docker採用的是 Client/Server 架構。

  客戶端向伺服器傳送請求,伺服器負責構建、執行和分發容器。

  客戶端和伺服器可以執行在同一個 Host 上,客戶端也可以透過socket或 REST API與遠端的伺服器通訊。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2929874/,如需轉載,請註明出處,否則將追究法律責任。

相關文章