1. 程式人生 > 其它 >linux 之centos7安裝kafka;;;;;待補充,未完成

linux 之centos7安裝kafka;;;;;待補充,未完成

Docker是什麼

Docker 是一個用於開發、釋出和執行應用程式的開放平臺。 Docker 能夠將應用程式與基礎架構分離,可以像管理應用程式一樣管理基礎設施。Docker 提供了在容器的隔離環境中打包和執行應用程式的能力。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上。

Docker架構

Docker 使用客戶端-伺服器架構。 Docker 客戶端與 Docker 守護程序對話,後者負責構建、執行和分發 Docker 容器的繁重工作。 Docker 客戶端和守護程式使用 REST API,通過 UNIX 套接字或網路介面進行通訊。另一個 Docker 客戶端是 Docker Compose,它允許使用由一組容器組成的應用程式。

  • Docker daemon: Docker 守護程序 (dockerd) 監聽 Docker API 請求並管理 Docker 物件,例如映象、容器、網路和卷。守護程序還可以與其他守護程序通訊以管理 Docker 服務
  • Docker Client: Docker 客戶端(docker)是使用者與 Docker 互動的主要方式。當你使用 docker run 等命令時,客戶端會將這些命令傳送給 dockerd,dockerd 會執行這些命令。 docker 命令使用 Docker API。 Docker 客戶端可以與多個守護程序通訊.
  • Docker Desktop: Docker Desktop 包括 Docker 守護程式 (dockerd)、Docker 客戶端 (docker)、Docker Compose、Docker Content Trust、Kubernetes 和 Credential Helper
  • Docker registries: 用來儲存各種打包好的軟體映象;倉庫分為公有倉庫和私有倉庫
  • Images: 軟體打包好的映象;放在docker倉庫中
  • Containers: 容器是一個映象的可執行例項。你可以使用Docker API或CLI來建立、啟動、停止、移動或刪除一個容器。你可以將一個容器連線到一個或多個網路上,為其附加儲存,甚至可以根據其當前狀態建立一個新的映象
Docker底層技術

Docker是用Go程式語言編寫的,並利用了Linux核心的一些特性來提供其功能。Docker使用一種叫做名稱空間的技術來提供稱為容器的隔離工作空間。當你執行一個容器時,Docker為該容器建立一組名稱空間。這些名稱空間提供了一個隔離層。容器的每個方面都在一個單獨的名稱空間中執行,其訪問僅限於該名稱空間。

Docker與虛擬機器比較
特性 容器 虛擬機器
啟動速度 秒級 分鐘級
效能 接近原生 較弱
記憶體代價 很小 較多
硬碟使用空間 一般為MB 一般為GB
隔離性 安全隔離 完全隔離