Ćwiczenie — Wdrażanie obrazu platformy Docker w wystąpieniu kontenera platformy Azure
Wystąpienie kontenera platformy Azure umożliwia uruchamianie obrazu platformy Docker na platformie Azure.
W poprzednim ćwiczeniu spakowano i przetestowano aplikację internetową jako lokalny obraz platformy Docker. Teraz chcesz użyć danych wyjściowych tego ćwiczenia i udostępnić aplikację internetową globalnie. Aby osiągnąć tę dostępność, możesz uruchomić obraz jako wystąpienie kontenera platformy Azure.
W tym ćwiczeniu dowiesz się, jak ponownie skompilować obraz dla aplikacji internetowej i przekazać go do usługi Azure Container Registry. Do uruchomienia obrazu użyjesz usługi wystąpienia kontenera platformy Azure.
Ważne
Do wykonania tego ćwiczenia potrzebna jest własna subskrypcja platformy Azure. Ponadto mogą zostać naliczone opłaty. Jeśli nie masz jeszcze subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Tworzenie rejestru kontenerów
Zaloguj się w witrynie Azure Portal przy użyciu subskrypcji platformy Azure.
W menu zasobów lub na stronie głównej wybierz pozycję Utwórz zasób. Zostanie wyświetlone okienko Tworzenie zasobu .
W menu wybierz pozycję Kontenery, a następnie wybierz pozycję Rejestr kontenerów.
Zostanie wyświetlone okienko Tworzenie rejestru kontenerów.
Na karcie Podstawy wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Szczegóły projektu Subskrypcja Wybierz subskrypcję platformy Azure, w której możesz tworzyć zasoby i zarządzać nimi. Grupa zasobów Wybierz pozycję Utwórz nową grupę zasobów o nazwie learn-deploy-container-aci-rg. Zapamiętaj wybraną nazwę; Będziesz go używać w pozostałych ćwiczeniach w tym module. Pamiętaj również, aby wyczyścić ten zasób po zakończeniu pracy z modułem. Szczegóły wystąpienia Nazwa rejestru Wybierz wybraną nazwę. Nazwa rejestru musi być unikatowa w obrębie platformy Azure i może zawierać od 5 do 50 znaków alfanumerycznych. Lokalizacja Wybierz lokalizację znajdującą się blisko Ciebie. Korzystanie ze stref dostępności Zaakceptuj domyślną wartość. Plan cenowy Standardowa Wybierz pozycję Przejrzyj i utwórz. Po wyświetleniu powiadomienia Weryfikacja przekazana wybierz pozycję Utwórz. Przed kontynuowaniem poczekaj, aż rejestr kontenerów zostanie wdrożony.
Wybierz pozycję Przejdź do zasobu. W okienku Rejestr kontenerów są wyświetlane podstawowe informacje o rejestrze kontenerów.
W menu zasobów w obszarze Ustawienia wybierz pozycję Klucze dostępu. Zostanie wyświetlone okienko Klucze dostępu dla rejestru kontenerów.
Jeśli ustawienie Użytkownika administratora jest wyłączone, zaznacz pole wyboru obok klucza dostępu administratora. Nazwa użytkownika i hasła są wyświetlane dla rejestru kontenerów.
Zanotuj nazwę rejestru, serwer logowania, nazwę użytkownika i hasła dla rejestru kontenerów.
Uwaga
W tym ćwiczeniu włączymy dostęp do konta administratora, aby umożliwić przekazywanie obrazów i testowanie rejestru. W środowisku produkcyjnym ważne jest, aby wyłączyć dostęp do konta użytkownika administratora i używać Ochrona tożsamości Microsoft Entra zaraz po spełnieniu oczekiwań, że rejestr działa zgodnie z oczekiwaniami.
Przekazywanie obrazu aplikacji obsługującej system rezerwacji hotelowych do usługi Azure Container Registry
W lokalnym wierszu polecenia uruchom następujące polecenie, zastępując
<registry-name>
ciąg nazwą rejestru kontenerów, aby oznaczyć bieżącyreservationsystem
obraz nazwą rejestru:docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
Uruchom polecenie ,
docker image ls
aby sprawdzić, czy obraz został poprawnie otagowany:docker image ls
Powinny zostać wyświetlone dane wyjściowe podobne do poniższych:
REPOSITORY TAG IMAGE ID CREATED SIZE reservationsystem latest a56281e7038f 4 minutes ago 1.76GB <registry-name>.azurecr.io/reservationsystem latest a56281e7038f 4 minutes ago 1.76GB
W wierszu polecenia zaloguj się do usługi Azure Container Registry. Za pomocą polecenia
docker login
podaj wcześniej zanotowaną wartość serwera logowania dla rejestru. Wprowadź nazwę użytkownika i hasło z kluczy dostępu po wyświetleniu monitu.docker login <login-server>
Uwaga
Może zostać wyświetlony komunikat o błędzie z demona, którego aplikacja nie jest zarejestrowana w usłudze Microsoft Entra ID. Jak wspomniano wcześniej w tym ćwiczeniu, włączono klucz dostępu administratora w celu przetestowania wdrożenia.
Wprowadź następujące polecenie, zastępując
<registry-name>
ciąg własną nazwą rejestru, aby przekazać obraz do rejestru w usłudze Azure Container Registry:docker push <registry-name>.azurecr.io/reservationsystem:latest
Poczekaj na zakończenie przekazywania. Ten proces potrwa kilka minut, aby wypchnąć wszystkie obiekty obrazu do repozytorium. Postęp każdego obiektu można obserwować z oczekiwaniem na przygotowanie do wypchnięcia do wypchnięcia.
Weryfikowanie zawartości rejestru
W pozostałej części ćwiczenia wrócisz do witryny Azure Portal.
W witrynie Azure Portal wróć do rejestru kontenerów.
W menu zasobów w obszarze Usługi wybierz pozycję Repozytoria. Zostanie wyświetlone okienko Repozytoria dla rejestru kontenerów.
Upewnij się, że widać repozytorium reservationsystem. Wybierz repozytorium reservationsystem i sprawdź, czy repozytorium zawiera obraz z tagiem latest.
Ładowanie i uruchamianie obrazu przy użyciu wystąpienia kontenera platformy Azure
W witrynie Azure Portal wybierz polecenie Utwórz zasób. Zostanie wyświetlone okienko Tworzenie zasobu .
W menu zasobów wybierz pozycję Kontenery, a następnie wybierz pozycję Wystąpienia kontenerów.
Zostanie wyświetlone okienko Tworzenie wystąpienia kontenera.
Istnieje kilka kroków konfigurowania wystąpienia kontenera. Zacznij od ustawienia informacji o grupie zasobów i szczegółów kontenera. Następnie skonfiguruj opcje sieciowe kontenera i uruchom ponownie zasady.
Na karcie Podstawy wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Szczegóły projektu Subskrypcja Wybierz domyślną subskrypcję platformy Azure, w której możesz tworzyć zasoby i zarządzać nimi Grupa zasobów Ponowne używanie istniejącej grupy zasobów learn-deploy-container-aci-rg Szczegóły kontenera Nazwa kontenera hotelsysteminstance Region (Region) Użyj domyślnej lokalizacji Strefy dostępności Zaakceptuj wartość domyślną SKU Standardowa Źródło obrazu Inny rejestr Typ obrazu Prywatne Obraz <nazwa_rejestru>.azurecr.io/reservationsystem:latest Serwer logowania rejestru obrazów Wprowadź nazwę serwera logowania dla rejestru Nazwa użytkownika rejestru obrazów Wprowadź nazwę użytkownika dla rejestru Hasło rejestru obrazów Wprowadź hasło dla rejestru Typ systemu operacyjnego Linux Rozmiar Pozostaw domyślny rozmiar ustawiony na 1 vcpu, 1,5 GiB pamięci, 0 gpu Wybierz pozycję Dalej: Sieć.
Na karcie Sieć wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Typ sieci Publiczne Etykieta nazwy DNS Wybierz unikatową nazwę, która będzie używana jako część adresu URL kontenera. Ponowne użycie zakresu etykiety nazw DNS Zaakceptuj wartość domyślną Porty Porty 80 Protokół portów TCP Wybierz pozycję Dalej: Zaawansowane.
Na karcie Zaawansowane wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Zasady ponownego uruchamiania Zawsze Zmienne środowiskowe pozostaw wszystkie ustawienia puste Przesłanianie poleceń Pozostaw puste Wybierz pozycję Przejrzyj i utwórz. Poczekaj na zakończenie walidacji i w razie potrzeby popraw wszelkie błędy.
Wybierz pozycję Utwórz.
Po utworzeniu wystąpienia kontenera wybierz pozycję Przejdź do zasobu. Pojawi się okienko wystąpienia kontenera.
W okienku Przegląd znajdź w pełni kwalifikowaną nazwę domeny (FQDN) wystąpienia kontenera.
Za pomocą przeglądarki internetowej przejdź do adresu URL
http://FQDN/api/reservations/1
, zastępując nazwę FQDN w pełni kwalifikowaną nazwą domeny wystąpienia kontenera. Na przykład użycie widocznej nazwy FQDN na powyższym zrzucie ekranu wygląda następująco:http://hotel.southcentralus.azurecontainer.io/api/reservations/1
Aplikacja internetowa powinna odpowiadać za pomocą obiektu JSON zawierającego szczegóły rezerwacji 1.
Gratulacje! Obraz platformy Docker został przekazany do usługi Azure Container Registry, a następnie uruchomiony przy użyciu usługi wystąpienia kontenera platformy Azure.