微軟:使用 Azure 容器註冊表和 Docker Hub 的最佳實踐

 微軟發佈了一篇使用 Azure 容器註冊表和 Docker Hub 的最佳實踐

容器是一種輕量級的虛擬化技術,可以讓開發者和運維人員快速地部署和運行應用程式。容器註冊表是一個儲存和管理容器映像的服務,可以讓使用者方便地推送和拉取容器映像。Docker Hub 是最流行的公共容器註冊表之一,它提供了數以百萬計的免費和付費的容器映像,涵蓋了各種應用程式和平台。

Azure 容器註冊表(ACR)是一個基於 Azure 的私有容器註冊表服務,它可以讓使用者在 Azure 上建立和管理自己的容器映像,並與其他 Azure 服務集成,例如 Azure 容器實例(ACI)、Azure Kubernetes 服務(AKS)和 Azure DevOps。ACR 提供了高效能、安全性和可靠性,並支援多種容器註冊表功能,例如加密、網路隔離、身份驗證和授權、映像掃描和簽章等。

在本文中,我們將介紹如何在 Azure 上使用 ACR 和 Docker Hub,並分享一些最佳實踐,幫助您更好地管理和使用容器映像。

如何在 Azure 上建立和使用 ACR

要在 Azure 上建立和使用 ACR,您需要先擁有一個 Azure 訂閱和一個 Azure 資源群組。如果您還沒有,您可以在這裡註冊一個免費的 Azure 訂閱,並在這裡學習如何建立一個資源群組。

建立 ACR 的方法有多種,您可以使用 Azure 入口網站、Azure CLI、Azure PowerShell 或 Azure Resource Manager 範本。在本文中,我們將使用 Azure CLI 作為示範。如果您還沒有安裝 Azure CLI,您可以在這裡下載和安裝。

首先,您需要使用 az login 命令登入您的 Azure 帳戶,並選擇您要使用的訂閱。然後,您可以使用 az acr create 命令建立一個 ACR 實例,並指定以下參數:

  • --resource-group:您要將 ACR 實例放在哪個資源群組中。
  • --name:您要給 ACR 實例的名稱,必須是唯一的,並且只能包含小寫字母和數字。
  • --sku:您要選擇的 ACR 服務層級,可以是 Basic、Standard 或 Premium,不同的層級有不同的功能和限制,您可以在這裡查看詳細的比較。

例如,以下命令會在名為 myResourceGroup 的資源群組中建立一個名為 myacr 的 ACR 實例,並選擇 Standard 層級:

az acr create --resource-group myResourceGroup --name myacr --sku Standard

建立 ACR 實例後,您可以使用 az acr login 命令登入 ACR 實例,並指定 --name 參數。例如:

az acr login --name myacr

登入 ACR 實例後,您就可以使用 Docker 命令推送和拉取容器映像了。您需要注意的是,您必須將您的容器映像標記為 <acr-name>.azurecr.io/<image-name>:<tag> 的格式,其中 <acr-name> 是您的 ACR 實例的名稱,<image-name> 是您的容器映像的名稱,<tag> 是您的容器映像的標籤。例如,以下命令會將一個名為 myapp 的本地容器映像標記為 myacr.azurecr.io/myapp:v1

docker tag myapp myacr.azurecr.io/myapp:v1

然後,您可以使用 docker push 命令將容器映像推送到 ACR 實例中,例如:

docker push myacr.azurecr.io/myapp:v1

同樣地,您可以使用 docker pull 命令從 ACR 實例中拉取容器映像,例如:

docker pull myacr.azurecr.io/myapp:v1

您也可以使用 az acr repository 命令管理 ACR 實例中的容器映像,例如列出、刪除、顯示詳細資訊等。您可以在[這裡]查看詳細的用法。

如何在 Azure 上使用 Docker Hub

要在 Azure 上使用 Docker Hub,您需要先擁有一個 Docker Hub 帳戶。如果您還沒有,您可以在[這裡]註冊一個免費的 Docker Hub 帳戶。

使用 Docker Hub 的方法有多種,您可以使用 Docker 入口網站、Docker CLI 或 Docker SDK。在本文中,我們將使用 Docker CLI 作為示範。如果您還沒有安裝 Docker CLI,您可以在[這裡]下載和安裝。

首先,您需要使用 docker login 命令登入您的 Docker Hub 帳戶,並輸入您的使用者名稱和密碼。例如:

docker login

登入 Docker Hub 帳戶後,您就可以使用 Docker 命令推送和拉取容器映像了。您需要注意的是,您必須將您的容器映像標記為 <username>/<image-name>:<tag> 的格式,其中 <username> 是您的 Docker Hub 使用者名稱,<image-name> 是您的容器映像的名稱,<tag> 是您的容器映像的標籤。例如,以下命令會將一個名為 myapp 的本地容器映像標記為 myuser/myapp:v1

docker tag myapp myuser/myapp:v1

然後,您可以使用 docker push 命令將容器映像推送到 Docker Hub 中,例如:

docker push myuser/myapp:v1

同樣地,您可以使用 docker pull 命令從 Docker Hub 中拉取容器映像,例如:

docker pull myuser/myapp:v1

您也可以使用 Docker 入口網站管理您的 Docker Hub 帳戶和容器映像,例如建立和管理組織、團隊和倉庫,設定存取權限和自動建置等。

詳情請看: