Docker 基本概念

2022-06-18 19:00:15 字數 2010 閱讀 8601

docker 是乙個用於開發,發布和執行應用程式的開放平台。docker 能夠將應用程式與基礎架構分開,從而可以快速交付軟體。借助docker,可以與管理應用程式相同的方式來管理基礎架構。通過利用 docker 的方法來快速交付,測試和部署**,可以大大減少編寫**和在生產環境中執行**之間的延遲。

docker 提供了在鬆散隔離的環境(稱為容器)中打包和執行應用程式的功能。隔離和安全性可以讓我們在給定主機上同時執行多個容器。容器是輕量級的,因為它們不需要管理程式的額外負擔,而是直接在主機的核心中執行。這意味著與使用虛擬機器相比,在給定的硬體組合上可以執行更多的容器。我們甚至可以在實際上是虛擬機器的主機中執行docker容器!

docker提供了工具和平台來管理容器的生命週期:

docker 通過允許開發人員使用提供您的應用程式和服務的本地容器在標準化環境中工作,從而簡化了開發生命週期。容器非常適合持續整合和持續交付(ci / cd)工作流程。

參考以下使用場景:

docker 基於容器的高度可移植的特性,容器可以在開發人員的膝上型電腦,資料中心的物理機或虛擬機器,雲提供商或混合環境中執行。

docker 的可移植性和輕量級的特性可以使我們輕鬆地管理工作負載,並根據業務需求指示實時擴充套件或刪除應用程式和服務。

docker 輕巧快速。它為基於虛擬機器管理程式的虛擬機器提供了可行且經濟高效的替代方案,因此可以利用更多的計算能力來實現業務目標。docker 非常適合高密度環境以及中小型部署,在這些部署中可以用更少的資源做更多的事情。

docker 使用客戶端-伺服器架構。docker 客戶端與 docker 守護程式進行對話,守護程序實現了構建,執行和分發 docker 容器的繁重工作。docker 客戶端和守護程序在 unix 套接字或網路介面上使用 rest api 進行通訊。

docker 守護程式 (dockerd) 偵聽 docker api 請求並管理 docker 物件,如映象,容器,網路和卷。守護程式還可以與其它守護程式通訊以管理 docker 服務。

docker 客戶端 (docker) 是許多 docker 使用者與 docker 互動的主要方式。當您使用諸如之類的命令時 docker run,客戶端會將這些命令傳送到 dockerd,以執行這些命令。該 docker 命令使用 docker api。docker 客戶端可以與多個守護程式通訊。

docker 登錄檔儲存 docker 映象。docker hub 是任何人都可以使用的公共登錄檔,並且預設情況下,docker 已配置為在 docker hub 上查詢映像。您甚至可以執行自己的私人登錄檔。

使用 docker pull 或 docker run 命令時,所需的影象將從配置的登錄檔中提取。使用該 docker push 命令時,會將映像推送到配置的登錄檔。

使用docker時,可以建立和使用映象,容器,網路,卷,外掛程式和其他物件。

通常乙個映象基於另乙個映象,並進行自定義。你也可以建立自己的映象,也可以使用其他人建立並在倉庫中發布的映象。要構建自己的映象,可以使用簡單的語法建立乙個 dockerfile,以自定義建立映象並執行它所需要的步驟。dockerfile 中的每條指令都會在映象中建立乙個層。當更改 dockerfile 並重建映象時,僅更改那些已更改的層。與其它虛擬化技術相比,這是映象輕巧,小型和快速的部分原因。

容器是影象的可執行例項。可以使用 docker api 或 cli 建立,啟動,停止,移動或刪除容器。可以將容器連線到乙個或多個網路,甚至可以基於當前狀態去建立乙個新的映象。

預設情況下,容器與容器及其主機之間的隔離度相對較高。我們可以控制容器的網路,儲存或其它基礎子系統與其它容器或主機的隔離程度。

容器由其映象以及在建立或啟動時為其提供的任何配置選項定義。刪除容器後,未儲存在永久性儲存中的狀態更改為消失。

利用 docker-compose 可以實現 docker 容器的集群啟動。需要編寫 compose yaml 檔案。

Docker基本概念

docker是開發人員和系統管理員構建,發布和執行應用程式的平台。docker允許您快速使用元件組裝應用程式,並消除運送 時可能產生的改變。docker允許您盡快測試並將 部署到生產環境中。docker可以簡化軟體交付,是通過簡化構建包含應用程式整個環境或應用程式作業系統的映象,並共享這個映象。應用...

Docker基本概念

docker 包括三個基本概念 理解了這三個概念,就理解了 docker 的整個生命週期。docker 映象就是乙個唯讀的模板。例如 乙個映象可以包含乙個完整的 ubuntu 作業系統環境,裡面僅安裝了 apache 或使用者需要的其它應用程式。映象可以用來建立 docker 容器。docker 利...

docker基本概念

集群 乙個集群指容器執行所需要的雲資源組合,關聯了若干伺服器節點 負載均衡 專有網路等雲資源。節點 一台伺服器 可以是虛擬機器例項或者物理伺服器 已經安裝了 docker engine,可以用於部署和管理容器 容器服務的 agent 程式會安裝到節點上並註冊到乙個集群上。集群中的節點數量可以伸縮。容...