共用方式為


教學課程:在 Linux Service Fabric 叢集上建立容器映像

本教學課程是教學課程系列的第一部分,示範如何在 Linux Service Fabric 叢集中使用容器。 在本教學課程中,已準備好多容器應用程式,以便與 Service Fabric 搭配使用。 在後續的教學課程中,這些映像會作為 Service Fabric 應用程式的一部分。 在本教學課程中,您將了解如何:

  • 從 GitHub 複製應用程式來源
  • 從應用程式來源建立容器映像
  • 部署 Azure Container Registry (ACR) 執行個體
  • 標記 ACR 的容器映像
  • 將影像上傳至 ACR

在本教學課程系列中,您將瞭解如何:

先決條件

  • 針對 Service Fabric 設定的 Linux 開發環境。 請依照 此處 的指示設定您的 Linux 環境。
  • 本教學課程要求您執行 Azure CLI 2.0.4 版或更新版本。 執行 az --version 以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI 模組
  • 此外,它要求您有可用的 Azure 訂用帳戶。 有關免費試用版的更多信息,請訪問 這裡.

取得應用程式程式碼

本教學課程中使用的範例應用程式是投票應用程式。 該應用程式由前端 Web 元件和後端 Redis 實例組成。 元件會封裝成容器映像檔。

使用 git 將應用程式的複本下載至您的開發環境。

git clone https://github.com/Azure-Samples/service-fabric-containers.git

cd service-fabric-containers/Linux/container-tutorial/

該解決方案包含兩個資料夾和一個「docker-compose.yml」檔案。 'azure-vote' 資料夾包含 Python 前端服務,以及用來建置映像的 Dockerfile。 'Voting' 目錄包含部署至叢集的 Service Fabric 應用程式套件。 這些目錄包含本教學課程的必要資產。

建立容器映像

azure-vote 目錄內,執行下列命令來建置前端 Web 元件的映像。 此命令會使用此目錄中的 Dockerfile 來建置映像檔。

docker build -t azure-vote-front .

備註

如果您被拒絕許可,請按照 文檔了解如何在沒有 sudo 的情況下使用 docker。

此命令可能需要一些時間,因為所有必要的依賴項都需要從 Docker Hub 提取。 完成時,請使用 docker images 命令來查看您剛才建立的 azure-vote-front 映像。

docker images

部署 Azure 容器登錄

首先執行 az login 命令以登入您的 Azure 帳戶。

az login

接下來,使用 az account 命令選擇您的訂用帳戶,以建立 Azure 容器登錄。 您必須輸入 Azure 訂用帳戶的訂用帳戶識別碼,以 <取代subscription_id>。

az account set --subscription <subscription_id>

部署 Azure 容器登錄時,您首先需要資源群組。 Azure 資源群組是在其中部署與管理 Azure 資源的邏輯容器。

使用 az group create 命令來建立資源群組。 在此範例中,會在 westus 區域中建立名為 myResourceGroup 的資源群組。

az group create --name <myResourceGroup> --location westus

使用 az acr create 命令建立 Azure 容器登錄。 將 <acrName> 替換為您要在訂用帳戶下建立的容器登錄名稱。 此名稱必須是英數字元且唯一。

az acr create --resource-group <myResourceGroup> --name <acrName> --sku Basic --admin-enabled true

在本教學課程的其餘部分,我們會使用 「acrName」 作為您選擇的容器登錄名稱的預留位置。 請記下此值。

登入至您的容器註冊表

先登入您的 ACR 執行個體,再將映像推送至它。 使用 az acr login 命令來完成作業。 提供建立容器登錄時的唯一名稱。

az acr login --name <acrName>

該命令完成後返回“登錄成功”消息。

標記容器映像

每個容器映像檔都需要使用登錄的 loginServer 名稱來標記。 此標籤用於將容器映像推送至映像登錄時進行路由。

若要查看目前映像的清單,請使用 docker images 命令。

docker images

輸出:

REPOSITORY                   TAG                 IMAGE ID            CREATED              SIZE
azure-vote-front             latest              052c549a75bf        About a minute ago   913MB

若要取得 loginServer 名稱,請執行下列命令:

az acr show --name <acrName> --query loginServer --output table

這會輸出具有下列結果的資料表。 此結果將用來標記您的 azure-vote-front 映像,再在下一個步驟中將它推送至容器登錄。

Result
------------------
<acrName>.azurecr.io

現在,使用您的容器登錄伺服器的 loginServer 來標記 azure-vote-front 影像。 另外,在圖像名稱的末尾添加 :v1 。 此標籤表示映像版本。

docker tag azure-vote-front <acrName>.azurecr.io/azure-vote-front:v1

標記後,執行「docker images」以驗證操作。

輸出:

REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
azure-vote-front                       latest              052c549a75bf        23 minutes ago      913MB
<acrName>.azurecr.io/azure-vote-front  v1                  052c549a75bf        23 minutes ago      913MB

將映像檔推送至鏡像庫

azure-vote-front 映像推送至登錄。

使用下列範例,將 ACR loginServer 名稱替換為您環境中的 loginServer 名稱。

docker push <acrName>.azurecr.io/azure-vote-front:v1

docker push 命令需要幾分鐘才能完成。

列出登錄中的映像

若要傳回已推送至 Azure 容器登錄的映像清單,請使用 az acr repository list 命令。 使用 ACR 實例名稱更新命令。

az acr repository list --name <acrName> --output table

輸出:

Result
----------------
azure-vote-front

教學課程完成時,容器映像已儲存在私人 Azure Container Registry 執行個體中。 此映像會在後續教學課程中從 ACR 部署至 Service Fabric 叢集。

後續步驟

在本教學課程中,已從 GitHub 提取應用程式,並建立容器映像並將其推送至登錄。 完成以下步驟:

  • 從 GitHub 複製應用程式來源
  • 從應用程式來源建立容器映像
  • 部署 Azure Container Registry (ACR) 執行個體
  • 標記 ACR 的容器映像
  • 將影像上傳至 ACR

繼續進行下一個教學課程,以瞭解如何使用 Yeoman 將容器封裝至 Service Fabric 應用程式。