共用方式為


Docker 術語

小提示

此內容是適用於容器化 .NET 應用程式的電子書.NET 微服務架構摘錄,可在 .NET Docs 或免費下載的 PDF 中取得,可脫機讀取。

.NET 微服務架構的容器化 .NET 應用程式電子書封面縮圖。

本節列出您在深入瞭解 Docker 之前應該熟悉的詞彙和定義。 如需進一步的定義,請參閱 Docker 所提供的廣泛 詞彙

容器映射:具有建立容器所需的所有相依性和資訊的套件。 映像包含所有相依性(例如框架)以及容器執行環境要使用的部署和執行組態。 通常,映像衍生自多個基底映射,這些基底映像會堆疊在彼此之上,以形成容器的文件系統。 一旦建立映像,該映像便不可變。

Dockerfile:文本檔,其中包含建置 Docker 映射的指示。 就像批次腳本一樣,第一行會指出基底映像的開頭,然後遵循指示來安裝必要的程式、複製檔案等等,直到您取得所需的工作環境為止。

置:根據 Dockerfile 所提供的資訊和內容,建置容器映像檔的動作,以及映像檔建置所在資料夾中的其他檔案。 您可以使用下列 Docker 命令來建置映像:

docker build

容器: Docker 映像檔的實例。 容器代表單一應用程式、進程或服務的執行。 它包含 Docker 映射、執行環境,以及一組標準指示的內容。 調整服務時,您會從相同的映像建立容器的多個實例。 或者,批次作業可以從相同的映像建立多個容器,並將不同的參數傳遞至每個實例。

磁碟區:提供容器可以使用的可寫入文件系統。 由於映像是只讀的,但大部分的程式都需要寫入文件系統,所以磁碟區會在容器映像的頂端新增可寫入層,讓程式可以存取可寫入的文件系統。 程式不知道它正在存取分層文件系統,它只是通常的文件系統。 磁碟區位於主機系統中,並由 Docker 管理。

卷標:您可以套用至影像的標記或標籤,以便識別不同的影像或相同影像的版本(取決於版本號碼或目標環境)。

多階段建置:這是一項功能,因為 Docker 17.05 或更高版本有助於減少最終映射的大小。 例如,包含 SDK 的大型基底映像可用來編譯和發佈,然後使用小型的僅限運行時間基底映射來裝載應用程式。

儲存庫(repo):相關 Docker 影像的集合,並加上標籤以指出影像版本。 某些存放庫包含特定影像的多個變體,例如包含 SDK 的影像(較重)、只包含執行階段的影像(較輕)等。這些變體可以標記。 一個存放庫可以包含多種平台變化,例如 Linux 映像和 Windows 映像。

登錄:提供存放庫存取權的服務。 大部分公用映像的默認登錄是 Docker Hub (由 Docker 作為組織所擁有)。 註冊表通常包含來自多個團隊的存放庫。 公司通常會有私人登錄來儲存和管理他們建立的映像。 Azure Container Registry 是另一個範例。

多架構映像:針對多架構(或 多平臺),它是一項 Docker 功能,可根據 Docker 執行所在的平臺,簡化選取適當的映像。 例如,當 Dockerfile 從登錄要求基底映射 FROM mcr.microsoft.com/dotnet/sdk:8.0 時,實際上會根據 Docker 執行所在的作系統和版本,取得 8.0-nanoserver-ltsc20228.0-nanoserver-18098.0-bullseye-slim

Docker Hub:一個用來上傳映像檔並使用它們的公用註冊庫。 Docker Hub 提供 Docker 映像裝載、公用或私人登錄、建置觸發程式和 Web 攔截,以及與 GitHub 和 Bitbucket 整合。

Azure Container Registry:用於在 Azure 中使用 Docker 映射及其元件的公用資源。 這會提供靠近您在 Azure 中部署的登錄,並可讓您控制存取權,讓您能夠使用 Azure Active Directory 群組和許可權。

Docker Trusted Registry (DTR):可安裝在內部部署的 Docker 登錄服務(來自 Docker),使其位於組織的數據中心和網路內。 對於應該在企業內管理的私人映像來說,這很方便。 Docker Trusted Registry 包含在 Docker Datacenter 產品中。

Docker Desktop:適用於 Windows 和 macOS 的開發工具,可在本機建置、執行及測試容器。 適用於 Windows 的 Docker Desktop 提供適用於 Linux 和 Windows 容器的開發環境。 Windows 上的 Linux Docker 主機是以 Hyper-V 虛擬機為基礎。 Windows 容器的主機會直接以 Windows 為基礎。 適用於 Mac 的 Docker Desktop 是以 Apple Hypervisor 架構和 xhyve Hypervisor 為基礎,其會在 macOS 上提供 Linux Docker 主機虛擬機。 適用於 Windows 和 Mac 的 Docker Desktop 會取代以 Oracle VirtualBox 為基礎的 Docker 工具箱。

撰寫:命令行工具和 YAML 檔案格式,其中包含定義和執行多容器應用程式的元數據。 您定義一個基於多個映像的單一應用程式,並使用一或多個.yml檔案來根據環境覆寫值。 建立定義之後,您可以使用單一命令 (docker-compose up) 部署整個多容器應用程式,以在 Docker 主機上為每個映射建立容器。

叢集:由多個 Docker 主機組成的集合,呈現為單一虛擬 Docker 主機,使應用程式能夠擴展至叢集中多個主機內的服務實例。 您可以使用 Kubernetes、Azure Service Fabric、Docker Swarm 和 Mesosphere DC/OS 來建立 Docker 叢集。

Orchestrator:簡化叢集和 Docker 主機管理的工具。 協調器可讓您透過命令行介面 (CLI) 或圖形化 UI 來管理其映像、容器和主機。 您可以管理容器網路、組態、負載平衡、服務探索、高可用性、Docker 主機設定等等。 調度器負責在一組節點上執行、分配、調整和修復工作負載。 協調器產品通常是提供叢集基礎架構的同類產品,例如 Kubernetes 和 Azure Service Fabric,還有市場上的其他選擇。