練習 - 將微服務映像推送至 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 容器。
切換至 [終端機 ] 索引標籤,然後執行下列命令以移至程式代碼根目錄:
cd dotnet-kubernetes執行下列命令以建置容器:
dotnet publish /p:PublishProfile=DefaultContainer建置容器可能需要一些時間。
執行下列命令以執行應用程式並連結容器:
docker compose up若要測試前端服務,請切換至 [連接埠] 索引標籤,然後到 [前端] 連接埠的本機位址右側,選取地球圖示。 瀏覽器會顯示首頁。
選取 [產品]。 目錄會顯示 Contoso 的商品。
關閉網站,返回 [終端機 ] 索引標籤,然後按 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 的微服務部署。