練習 - 將微服務映像推送至 Docker Hub
為了讓 Kubernetes 建立容器映像,其需要一個能取得容器映像的位置。 Docker Hub 是上傳 Docker 映像的中樞位置。 許多產品 (包括 Kubernetes) 都能夠以 Docker Hub 上的映像為基礎建立容器。
開啟開發環境
您可以選擇使用裝載本練習的 GitHub Codespace,或在 Visual Studio Code 本機上完成該練習。
若要使用 Codespace,請使用 此 Codespace 建立連結 來建立預先設定的 GitHub Codespace。
此流程需要幾分鐘的時間,GitHub 會建立及設定 codespace。 完成後,此課程模組其餘部分所使用的程式碼會位於 /dotnet-kubernetes 目錄中。
若要使用 Visual Studio Code,請將 https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative 存放庫複製到本機電腦。 接下來:
- 安裝任何系統要求,以在 Visual Studio Code 中執行開發容器。
- 確定 Docker 是執行狀態。
- 在新的 Visual Studio Code 視窗中,開啟複製存放庫的資料夾
- 按下 Ctrl+Shift+P,以開啟命令選擇區。
- 搜尋:>開發容器:重建並在容器中重新開啟
- 從下拉式清單中選取 eShopLite - dotnet-kubernetes。 Visual Studio Code 會在本機上建立您的開發容器。
在 codespace 建立容器以驗證 Docker 影像
Contoso Shop 專案中有兩個容器。 將影像推送至 Docker Hub 之前,讓我們先用它們在 codespace 建立容器。 建立並執行容器之後,我們就能夠瀏覽 Contoso 公司網站,並驗證微服務是否正常運作。
請遵循下列步驟,在 codespace 中建立和執行 Docker 容器。
切換至 [TERMINAL] 索引標籤,然後執行下列命令以移至程式碼根:
cd dotnet-kubernetes
執行下列命令以建置容器:
dotnet publish /p:PublishProfile=DefaultContainer
建置容器可能需要一些時間。
執行下列命令以執行應用程式並連結容器:
docker compose up
若要測試前端服務,請切換至 [連接埠] 索引標籤,然後在 [前端] 連接埠的本機位址右側,選取地球圖示。 瀏覽器會顯示首頁。
選取產品。 目錄會顯示 Contoso 的商品。
關閉網站,返回 [TERMINAL] 索引標籤,然後按 CTRL + C。Docker compose 會停止容器。
登入 Docker Hub
將映像上傳至 Docker Hub 的下一個步驟是登入 Docker Hub。 從命令提示字元,輸入下列內容:
docker login
重要
使用建立 Docker 帳戶時所用的相同使用者名稱和密碼。 如有需要,您可以前往 Docker Hub 網站重設密碼。
將映像上傳至 Docker Hub
輸入下列程式碼,來重新標記或重新命名您以 Docker 使用者名稱建立的 Docker 映像。
docker tag store [YOUR DOCKER USER NAME]/storeimage docker tag products [YOUR DOCKER USER NAME]/productservice
最後,將 Docker 映像上傳或推送至 Docker Hub。
docker push [YOUR DOCKER USER NAME]/storeimage docker push [YOUR DOCKER USER NAME]/productservice
如果您收到驗證錯誤,您可以執行
docker logout
,然後執行docker login
以重新驗證。
在此練習中,您已使用 Dockerfiles 和 docker compose 來建立兩個 Docker 影像和容器,並將這些影像推送至 Docker Hub。
現在您已經準備好使用 Kubernetes,來管理 Contoso 的微服務部署。