Ćwiczenie — wypychanie obrazu mikrousługi do usługi Docker Hub
Aby platforma Kubernetes utworzyła obraz kontenera, potrzebuje miejsca, z którego ma zostać pobrana. Usługa Docker Hub to centralne miejsce do przekazywania obrazów platformy Docker. Wiele produktów, w tym kubernetes, może tworzyć kontenery na podstawie obrazów w usłudze Docker Hub.
Uwaga
Wykonasz to ćwiczenie w usłudze GitHub Codespace z wstępnie zainstalowaną platformą Docker i zestawem .NET SDK . Jeśli używasz tych technik we własnym środowisku programistycznym, upewnij się, że zostały zainstalowane te wymagania wstępne.
Otwieranie środowiska projektowego
Możesz użyć przestrzeni kodu usługi GitHub, która hostuje ćwiczenie, lub wykonać ćwiczenie lokalnie w programie Visual Studio Code.
Aby użyć przestrzeni kodu, utwórz wstępnie skonfigurowany element GitHub Codespace za pomocą tego linku tworzenia usługi Codespace.
Proces trwa kilka minut, gdy usługa GitHub tworzy i konfiguruje przestrzeń kodu. Po zakończeniu kod używany w pozostałej części tego modułu znajduje się w katalogu /dotnet-kubernetes .
Aby użyć programu Visual Studio Code, sklonuj https://github.com/MicrosoftDocs/mslearn-dotnet-cloudnative repozytorium na komputer lokalny. Następnie:
- Zainstaluj wszelkie wymagania systemowe, aby uruchomić kontener deweloperski w programie Visual Studio Code.
- Upewnij się, że platforma Docker jest uruchomiona.
- W nowym oknie programu Visual Studio Code otwórz folder sklonowanego repozytorium
- Naciśnij Ctrl+Shift+P, aby otworzyć paletę poleceń.
- Wyszukiwanie: Tworzenie kontenerów: >ponowne kompilowanie i ponowne otwieranie w kontenerze
- Wybierz pozycję eShopLite — dotnet-kubernetes z listy rozwijanej. Program Visual Studio Code tworzy kontener dewelopera lokalnie.
Weryfikowanie obrazów platformy Docker przez utworzenie kontenerów w przestrzeni kodu
W projekcie Contoso Shop znajdują się dwa kontenery. Przed wypchnięciem obrazów do usługi Docker Hub użyjemy ich do utworzenia kontenerów w przestrzeni kodu. Po utworzeniu i uruchomieniu kontenerów będziemy mogli przeglądać witrynę internetową firmy Contoso i sprawdzić, czy mikrousługi działają ok.
Wykonaj następujące kroki, aby utworzyć i uruchomić kontenery platformy Docker w przestrzeni kodu.
Przejdź do karty TERMINAL i uruchom następujące polecenie, aby przejść do katalogu głównego kodu:
cd dotnet-kubernetes
Uruchom następujące polecenie, aby skompilować kontenery:
dotnet publish /p:PublishProfile=DefaultContainer
Utworzenie kontenerów może zająć trochę czasu.
Uruchom następujące polecenie, aby uruchomić aplikację i dołączyć kontenery:
docker compose up
Aby przetestować usługę frontonu, przejdź do karty PORTY , a następnie po prawej stronie adresu lokalnego dla portu frontonu wybierz ikonę globusa. W przeglądarce zostanie wyświetlona strona główna.
Wybierz produkty. Katalog zawiera towary firmy Contoso.
Zamknij witrynę internetową, wróć do karty TERMINAL, a następnie naciśnij CTRL + C. Platforma Docker
compose
zatrzymuje kontenery.
Zaloguj się do usługi Docker Hub
Następnym krokiem przekazywania obrazów do usługi Docker Hub jest zalogowanie się do usługi Docker Hub. W wierszu polecenia wprowadź następujące polecenie:
docker login
Ważne
Użyj tej samej nazwy użytkownika i hasła podczas tworzenia konta platformy Docker. W razie potrzeby możesz odwiedzić witrynę internetową usługi Docker Hub, aby zresetować hasło.
Przekazywanie obrazów do usługi Docker Hub
Wprowadź następujący kod, aby ponownietagować lub zmienić nazwę obrazów platformy Docker utworzonych w ramach nazwy użytkownika platformy Docker.
docker tag store [YOUR DOCKER USER NAME]/storeimage docker tag products [YOUR DOCKER USER NAME]/productservice
Następnie przekaż lub wypchnij obrazy platformy Docker do usługi Docker Hub.
docker push [YOUR DOCKER USER NAME]/storeimage docker push [YOUR DOCKER USER NAME]/productservice
Jeśli wystąpi błąd uwierzytelniania, możesz uruchomić
docker logout
polecenie , a następniedocker login
ponownie uwierzytelnić.
W tym ćwiczeniu użyto plików Dockerfile i narzędzia Docker compose do utworzenia dwóch obrazów i kontenerów platformy Docker oraz wypchnięcia tych obrazów do usługi Docker Hub.
Teraz możesz używać platformy Kubernetes do zarządzania wdrożeniem mikrousług firmy Contoso.