共用方式為


Docker 容器、映像和登錄

小提示

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

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

使用 Docker 時,開發人員會建立應用程式或服務,並將其及其相依性封裝至容器映像。 映像是應用程式或服務和其設定及相依性的靜態表示法。

若要執行應用程式或服務,系統會具現化應用程式的映像,以建立將在 Docker 主機上執行的容器。 容器一開始會在開發環境或計算機中進行測試。

開發人員應該將映像存儲在容器映像庫中,它作為映像的庫,並且在部署到生產協作器時需要使用。 Docker 會透過 Docker Hub 維護公用登錄;其他廠商提供不同映像集合的登錄,包括 Azure Container Registry。 或者,企業可以在內部伺服器上設置自己的 Docker 映像檔私人倉庫。

圖 2-4 顯示 Docker 中的映像和登錄與其他元件的關係。 它也會顯示供應商的多個註冊選項。

顯示 Docker 中基本分類法的圖表。

圖 2-4。 Docker 詞彙和概念的分類

登錄就像一個書架,其中會儲存映像,並可供提取來建置容器以執行服務或 Web 應用程式。 本地托管和公共云上有私人 Docker 註冊表。 Docker Hub 是 Docker 維護的公用登錄,沿著 Docker Trusted Registry 提供企業級解決方案,Azure 提供 Azure Container Registry。 AWS、Google 和其他專案也有容器登錄。

將映像放在註冊表中可讓您儲存靜態且不可變的應用程式位元,包括在架構層級的所有相依性。 這些映像接著可以在多個環境中版本化並部署,從而提供一致的部署單位。

建議在下列情況下使用私人映像檔案庫,不論是裝載於內部部署或雲端中:

  • 您的映像不得因為機密性而公開共用。

  • 您想要在映像與所選部署環境之間有最低的網路等待時間。 例如,如果您的生產環境是 Azure 雲端,您可能想要將映像儲存在 Azure Container Registry 中,讓網路等待時間降到最低。 同樣地,如果您的生產環境是內部部署環境,您可能想要在同一個局域網路內提供內部部署 Docker 信任登錄。