Udostępnij za pośrednictwem


Szybki start: uruchamianie niestandardowego kontenera na platformie Azure

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, takie jak ASP.NET lub Node.js, które działają w usługach IIS. Wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu. Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Pozwalają deweloperom w pełni dostosować kontenery i zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

W tym przewodniku Szybkiego Startu pokazano, jak wdrożyć aplikację ASP.NET w systemie Windows do usługi Azure Container Registry z Visual Studio. Aplikacja jest uruchamiana w kontenerze niestandardowym w usłudze aplikacja systemu Azure Service.

Wymagania wstępne

tworzenie aplikacji internetowej platformy ASP.NET

Utwórz aplikację internetową ASP.NET, wykonując następujące kroki:

  1. Otwórz program Visual Studio, a następnie wybierz pozycję Utwórz nowy projekt.

  2. W obszarze Tworzenie nowego projektu wybierz pozycję ASP.NET Aplikacja internetowa (.NET Framework) dla języka C#, a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający okno dialogowe Tworzenie nowego projektu.

  3. W obszarze Konfigurowanie nowego projektu w obszarze Nazwa projektu nadaj aplikacji nazwę myfirstazurewebapp. W obszarze Framework wybierz pozycję .NET Framework 4.8 , a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający projekt Konfigurowanie aplikacji internetowej.

  4. Na platformie Azure można wdrożyć dowolny typ aplikacji internetowej platformy ASP.NET. Na potrzeby tego przewodnika Szybki start wybierz szablon MVC .

  5. W obszarze Uwierzytelnianie wybierz pozycję Brak. W obszarze Zaawansowane wybierz pozycję Obsługa kontenera i usuń zaznaczenie pola wyboru Konfiguruj dla protokołu HTTPS. Wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający okno dialogowe Tworzenie aplikacji internetowej ASP.NET.

  6. Jeśli plik Dockerfile nie jest otwierany automatycznie, otwórz go w Eksploratorze rozwiązań.

  7. Potrzebujesz obsługiwanego obrazu bazowego. Zmień obraz nadrzędny, zastępując wiersz FROM następującym kodem i zapisując plik:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. Z menu programu Visual Studio wybierz pozycję Debuguj>rozpocznij bez debugowania , aby uruchomić aplikację internetową lokalnie.

    Zrzut ekranu przedstawiający aplikację uruchomioną lokalnie.

Publikowanie w usłudze Azure Container Registry

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt myfirstazurewebapp i wybierz polecenie Publikuj.

  2. W obszarze Cel wybierz pozycję Docker Container Registry, a następnie wybierz pozycję Dalej.

    Zrzut ekranu ekranu wyboru rejestru kontenerów Docker.

  3. W obszarze docelowym wybierz Azure Container Registry, a następnie Dalej.

    Zrzut ekranu przedstawiający stronę przeglądu publikowania z projektu.

  4. W obszarze Publikowanie wybierz poprawną subskrypcję. W obszarze Rejestry kontenerów wybierz pozycję Utwórz nowy , aby utworzyć nowy rejestr kontenerów platformy Azure.

    Zrzut ekranu przedstawiający ekran Tworzenie nowego rejestru kontenerów platformy Azure.

  5. W obszarze Utwórz nową wybierz poprawną subskrypcję. W obszarze Grupa zasobów wybierz pozycję Nowy i wpisz nazwę myResourceGroup , a następnie wybierz przycisk OK. Pod SKU wybierz Podstawowa. W obszarze Lokalizacja rejestru wybierz lokalizację rejestru, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający szczegóły usługi Azure Container Registry.

  6. W obszarze Publikowanie w obszarze Container Registry wybierz utworzony rejestr, a następnie wybierz pozycję Zakończ.

    Zrzut ekranu ekranu Wybierz istniejący rejestr kontenerów Azure.

    Zaczekaj na zakończenie wdrażania. Na stronie Publikowanie jest teraz wyświetlana nazwa repozytorium. Wybierz przycisk kopiowania , aby skopiować nazwę repozytorium do późniejszego użycia.

    Zrzut ekranu z wyróżnioną nazwą repozytorium.

Tworzenie niestandardowego kontenera systemu Windows

  1. Zaloguj się do witryny Azure Portal.

  2. Wybierz pozycję Utwórz zasób w lewym górnym rogu witryny Azure Portal.

  3. W obszarze Popularne usługi wybierz pozycję Utwórz w obszarze Aplikacja internetowa.

  4. W obszarze Tworzenie aplikacji internetowej wybierz subskrypcję i grupę zasobów. W razie potrzeby możesz utworzyć nową grupę zasobów.

  5. Podaj nazwę aplikacji, taką jak win-container-demo. W obszarze Publikuj wybierz pozycję Kontener. W polu System operacyjny wybierz pozycję Windows.

    Zrzut ekranu przedstawiający tworzenie aplikacji internetowej dla kontenerów.

  6. Wybierz pozycję Dalej: Baza danych, a następnie Dalej: Kontener , aby kontynuować.

  7. W polu Źródło obrazu wybierz pozycję Docker Hub , a w polu Obraz i tag wprowadź nazwę repozytorium skopiowaną w obszarze Publikowanie w usłudze Azure Container Registry.

    Zrzut ekranu przedstawiający konfigurowanie aplikacji internetowej dla kontenerów.

    Jeśli masz niestandardowy obraz w innym miejscu dla aplikacji internetowej, na przykład w usłudze Azure Container Registry lub w innym prywatnym repozytorium, możesz go skonfigurować tutaj. Wybierz pozycję Przejrzyj i utwórz , aby kontynuować.

  8. Sprawdź wszystkie szczegóły, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający tworzenie aplikacji internetowej dla kontenerów.

    Poczekaj, aż platforma Azure utworzy wymagane zasoby.

Znajdź dopasowany kontener

Po zakończeniu operacji w witrynie Azure Portal zostanie wyświetlone powiadomienie.

Zrzut ekranu przedstawiający pomyślne wdrożenie.

  1. Wybierz pozycję Przejdź do zasobu.

  2. W przeglądzie tego zasobu, przejdź do linku obok Domena domyślna.

Zostanie otwarta nowa strona przeglądarki na następującej stronie:

Zrzut ekranu przedstawiający uruchamianie niestandardowego kontenera systemu Windows.

Poczekaj kilka minut i spróbuj ponownie, dopóki nie zostanie wyświetlona domyślna strona główna aplikacji ASP.NET:

Zrzut ekranu przedstawiający uruchomiony kontener niestandardowy systemu Windows.

Gratulacje! Uruchamiasz swój pierwszy niestandardowy kontener systemu Windows w usłudze Azure App Service.

Wyświetlanie dzienników uruchamiania kontenera

Załadowanie kontenera systemu Windows może zająć trochę czasu. Aby wyświetlić postęp, przejdź do następującego adresu URL, zastępując <app_name> nazwą aplikacji.

https://<app_name>.scm.azurewebsites.net/api/logstream

Przesyłane strumieniowo dzienniki wyglądają następująco:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

Lokalne aktualizowanie i ponowne wdrażanie

  1. W programie Visual Studio w Eksploratorze rozwiązań otwórz plik Views>Home>Index.cshtml.

  2. Znajdź tag HTML <div class="jumbotron"> u góry i zastąp cały element następującym kodem:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Aby ponownie wdrożyć platformę Azure, kliknij prawym przyciskiem myszy projekt myfirstazurewebapp w Eksploratorze rozwiązań i wybierz polecenie Publikuj.

  4. Na stronie publikowania wybierz pozycję Publikuj i poczekaj na ukończenie publikowania.

  5. Aby nakazać usłudze App Service ściągnięcie obrazu z usługi Docker Hub, uruchom ponownie aplikację. Na stronie aplikacji w witrynie Azure Portal wybierz pozycję Uruchom ponownie>tak.

    Zrzut ekranu przedstawiający przegląd usługi App Service z wyróżnionym przyciskiem Uruchom ponownie.

Ponownie przejdź do kontenera niestandardowego. Podczas odświeżania strony internetowej aplikacja powinna najpierw powrócić do strony "Uruchamianie", a następnie wyświetlić zaktualizowaną stronę internetową.

Zrzut ekranu przedstawiający zaktualizowaną aplikację internetową na platformie Azure.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie będziesz już potrzebować tych zasobów w przyszłości, możesz je usunąć przez usunięcie grupy zasobów.

W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Grupy zasobów. Następnie na stronie Grupy zasobów wybierz pozycję myResourceGroup.

Na stronie myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

Wybierz pozycję Usuń grupę zasobów, wpisz myResourceGroup w polu tekstowym, aby potwierdzić, a następnie wybierz pozycję Usuń.

Usługa Azure App Service w systemie Linux udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Linux z obsługą języków takich jak .NET, Java, Node.jsi PHP. Możesz również użyć niestandardowego obrazu platformy Docker, aby uruchomić aplikację internetową na stosie aplikacji, który nie jest jeszcze zdefiniowany na platformie Azure. W tym przewodniku Szybki start pokazano, jak wdrożyć obraz z usługi Azure Container Registry (ACR) w usłudze App Service.

Aby uzyskać więcej informacji na temat konteneryzowanych aplikacji w środowisku bezserwerowym, zobacz Container Apps.

Wymagania wstępne

Tworzenie rejestru kontenerów

Ten szybki start używa usługi Azure Container Registry jako rejestru. Możesz użyć innych rejestrów, ale kroki mogą się nieco różnić.

Utwórz rejestr kontenerów, postępując zgodnie z instrukcjami w przewodniku Szybki start: tworzenie prywatnego rejestru kontenerów przy użyciu witryny Azure Portal.

Ważne

Pamiętaj, aby ustawić opcję Użytkownik administracyjny na Włącz podczas tworzenia Azure Container Registry. Można ją również ustawić w sekcji Klucze dostępu strony rejestru w witrynie Azure Portal. To ustawienie jest wymagane dla dostępu do usługi App Service. Aby uzyskać informacje o tożsamości zarządzanej, zobacz samouczek dotyczący wdrażania z ACR.

Zaloguj

  1. Uruchom program Visual Studio Code.

  2. Wybierz logo Azure na pasku aktywności, przejdź do KONTA i DZIERŻAWY. Wybierz pozycję Zaloguj się do platformy Azure i postępuj zgodnie z instrukcjami.

    Zrzut ekranu przedstawiający logowanie się do platformy Azure w programie Visual Studio Code.

  3. Na pasku stanu u dołu sprawdź swój adres e-mail konta platformy Azure. W Eksploratorze APP SERVICE powinna być wyświetlana twoja subskrypcja.

  4. Na pasku działań wybierz logo platformy Docker . W eksploratorze REGISTRIES sprawdź, czy zostanie wyświetlony utworzony rejestr kontenerów.

    Zrzut ekranu przedstawia wartość Rejestry z rozwiniętym platformą Azure.

Sprawdzanie wymagań wstępnych

Sprawdź, czy platforma Docker jest zainstalowana i uruchomiona. Następujące polecenie wyświetla wersję platformy Docker, jeśli jest uruchomiona.

docker --version

Tworzenie i kompilowanie obrazu

  1. W programie Visual Studio Code otwórz pusty folder i dodaj plik o nazwie Dockerfile. W pliku Dockerfile wklej zawartość na podstawie żądanej struktury językowej:

    W tym pliku Dockerfile obraz bazowy jest jednym z wbudowanych kontenerów usługi App Service platformy .NET.

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. Otwórz Paletę Poleceń i wpisz Docker Images: Build Image. Wybierz Enter, aby uruchomić polecenie.

  3. W polu tagu obrazu określ żądany tag w następującym formacie: <acr-name>.azurecr.io/<image-name>:<tag>, gdzie <acr-name> jest nazwą utworzonego rejestru kontenerów. Wybierz pozycję Enter.

  4. Po zakończeniu kompilowania obrazu wybierz pozycję Odśwież w górnej części eksploratora IMAGES i sprawdź, czy obraz został skompilowany pomyślnie.

    Zrzut ekranu przedstawia utworzony obraz z tagiem.

Wdrażanie do rejestru kontenerów

  1. Na pasku działań wybierz ikonę Platformy Docker . W eksploratorze IMAGES znajdź utworzony obraz.

  2. Rozwiń obraz, kliknij prawym przyciskiem myszy wybrany tag i wybierz polecenie Wypchnij.

  3. Upewnij się, że tag obrazu zaczyna się od <acr-name>.azurecr.io i naciśnij Enter.

  4. Gdy program Visual Studio Code zakończy wypychanie obrazu do rejestru kontenerów, wybierz pozycję Odśwież w górnej części eksploratora REGISTRIES i sprawdź, czy obraz został wypchnięty pomyślnie.

    Zrzut ekranu przedstawia obraz wdrożony w usłudze Azure Container Registry.

Wdrażanie do usługi App Service

  1. W eksploratorze REGISTRIES rozwiń obraz, kliknij prawym przyciskiem myszy tag i wybierz polecenie Wdróż obraz w usłudze Azure App Service.
  2. Postępuj zgodnie z monitami, aby wybrać subskrypcję, globalnie unikatową nazwę aplikacji, grupę zasobów i plan usługi App Service. Wybierz pozycję B1 Podstawowa dla warstwy cenowej i regionu w pobliżu.

Po wdrożeniu aplikacja jest dostępna pod adresem http://<app-name>.azurewebsites.net.

Grupa zasobów to nazwana kolekcja wszystkich zasobów aplikacji na platformie Azure. Na przykład grupa zasobów może zawierać odwołanie do witryny internetowej, bazy danych i funkcji platformy Azure.

Plan usługi App Service definiuje zasoby fizyczne, które mają być używane do hostowania witryny internetowej. Szybki start korzysta z podstawowego planu hostingu na infrastrukturze Linux, co oznacza, że witryna jest hostowana na maszynie z systemem Linux wraz z innymi stronami internetowymi. Jeśli zaczniesz od planu podstawowego, możesz użyć witryny Azure Portal do skalowania w górę, aby twoja witryna jest jedyną witryną uruchomioną na maszynie. Aby uzyskać informacje o cenach, zobacz Cennik usługi App Service.

Przeglądanie witryny internetowej

Na panelu Dane wyjściowe jest wyświetlany stan operacji wdrażania. Po zakończeniu operacji wybierz pozycję Otwórz witrynę w wyskakującym powiadomieniu, aby otworzyć witrynę w przeglądarce.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie będziesz już potrzebować tych zasobów w przyszłości, możesz je usunąć przez usunięcie grupy zasobów.

W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Grupy zasobów. Następnie na stronie Grupy zasobów wybierz pozycję myResourceGroup.

Na stronie myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

Wybierz pozycję Usuń grupę zasobów, wpisz myResourceGroup w polu tekstowym, aby potwierdzić, a następnie wybierz pozycję Usuń.

Gratulacje, pomyślnie ukończyłeś tę szybką instrukcję!

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, wystarczy wypchnąć go do rejestru kontenerów, a aplikacja ściąga zaktualizowany obraz po ponownym uruchomieniu. Aby poinformować aplikację o natychmiastowym ściągnięciu zaktualizowanego obrazu, uruchom go ponownie.

Inne rozszerzenia platformy Azure:

Usługa Azure App Service w systemie Linux udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Linux z obsługą języków takich jak .NET, Java, Node.jsi PHP. Możesz również użyć niestandardowego obrazu platformy Docker, aby uruchomić aplikację internetową na stosie aplikacji, który nie jest jeszcze zdefiniowany na platformie Azure. Ten przewodnik szybkiego startu pokazuje, jak wdrożyć obraz z Azure Container Registry do usługi Azure App Service.

Aby uzyskać więcej informacji na temat konteneryzowanych aplikacji w środowisku bezserwerowym, zobacz Container Apps.

Wymagania wstępne

Klonowanie przykładowego repozytorium

Sklonuj przykładową aplikację platformy .NET 6.0 za pomocą następującego polecenia:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Wypchnij obraz do Azure Container Registry

Upewnij się, że znajdujesz się w folderze głównym sklonowanego repozytorium. To repozytorium zawiera plik Dockerfile.linux .

  1. Zaloguj się do Azure CLI.

    az login
    
  2. Zaloguj się do usługi Azure Container Registry.

    az acr login -n <your_registry_name>
    
  3. Skompiluj obraz kontenera. W tym przykładzie użyto nazwy obrazu dotnetcore-docs-hello-world-linux.

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. Wypchnij obraz kontenera do usługi Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Uwaga

    Plik Dockerfile ustawia numer portu na 80 wewnętrznie. Aby uzyskać więcej informacji na temat konfigurowania kontenera, zobacz Konfigurowanie kontenera niestandardowego.

Wdróż na platformie Azure

Logowanie do witryny Azure Portal

Zaloguj się do witryny Azure Portal.

Tworzenie zasobów platformy Azure

  1. Wpisz app services w wyszukiwarce. W obszarze Usługi wybierz pozycję App Services.

    Zrzut ekranu przedstawiający wyszukiwanie

  2. Na stronie App Services wybierz pozycję Utwórz>aplikację internetową.

  3. Na karcie Podstawy w obszarze Szczegóły projektu wybierz poprawną subskrypcję. Wybierz pozycję Utwórz nową grupę zasobów. Wpisz nazwę myResourceGroup .

    Zrzut ekranu przedstawiający sekcję Szczegóły projektu z wybraną subskrypcją platformy Azure i grupą zasobów dla aplikacji internetowej.

  4. W obszarze Szczegóły wystąpienia:

    • Wprowadź globalnie unikatową nazwę aplikacji internetowej.
    • Wybierz Kontener.
    • W polu System operacyjny wybierz pozycję Linux.
    • Wybierz region, z którego chcesz obsługiwać aplikację.

    Zrzut ekranu przedstawiający sekcję Szczegóły wystąpienia, w której podano nazwę maszyny wirtualnej i wybierz jej region, obraz i rozmiar.

  5. W obszarze Plan usługi App Service wybierz pozycję Utwórz nowy plan usługi App Service. Wprowadź nazwę myAppServicePlan. Aby przejść do warstwy Bezpłatna, wybierz pozycję Zmień rozmiar, wybierz kartę Tworzenie i testowanie , wybierz pozycję F1. Wybierz Zastosuj.

    Zrzut ekranu przedstawiający opcje planu usługi App Service.

  6. W górnej części strony wybierz kartę Kontener .

  7. Na karcie Kontener w polu Źródło obrazu wybierz pozycję Azure Container Registry. W obszarze Opcje usługi Azure Container Registry ustaw następujące wartości:

    • Rejestr: wybierz usługę Azure Container Registry.
    • Obraz: Wybierz dotnetcore-docs-hello-world-linux.
    • Tag: wybierz pozycję Latest (Najnowsza wersja).

    Zrzut ekranu przedstawiający opcje usługi Azure Container Registry.

  8. Wybierz pozycję Przejrzyj i utwórz w dolnej części strony.

    Zrzut ekranu przedstawiający przycisk Przejrzyj i utwórz na dole strony.

  9. Po zakończeniu walidacji wybierz pozycję Utwórz.

  10. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

    Zrzut ekranu przedstawiający następny krok przechodzenia do zasobu.

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL http://<app-name>.azurewebsites.net.

Zrzut ekranu przedstawiający wdrożonej aplikacji.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie będziesz już potrzebować tych zasobów w przyszłości, możesz je usunąć przez usunięcie grupy zasobów.

W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Grupy zasobów. Następnie na stronie Grupy zasobów wybierz pozycję myResourceGroup.

Na stronie myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

Wybierz pozycję Usuń grupę zasobów, wpisz myResourceGroup w polu tekstowym, aby potwierdzić, a następnie wybierz pozycję Usuń.

Gratulacje, pomyślnie ukończono ten przewodnik szybkiego startu.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, po prostu dodaj go do rejestru kontenerów. Aplikacja pobiera zaktualizowany obraz po ponownym uruchomieniu. Aby poinformować aplikację o natychmiastowym ściągnięciu zaktualizowanego obrazu, uruchom go ponownie.

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, takie jak ASP.NET lub Node.js, które działają w usługach IIS. Wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu. Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Pozwalają deweloperom w pełni dostosować kontenery i zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

W tym przewodniku Szybki start pokazano, jak wdrożyć aplikację ASP.NET na obrazie systemu Windows z wykorzystaniem Azure Container Registry do usługi Azure App Service.

Wymagania wstępne

Klonowanie przykładowego repozytorium

Sklonuj przykładową aplikację platformy .NET 6.0 za pomocą następującego polecenia:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Wypchnij obraz do Azure Container Registry

Upewnij się, że znajdujesz się w folderze głównym sklonowanego repozytorium. To repozytorium zawiera plik Dockerfile.windows . W tym artykule użyto systemu Windows Nano Server Long Term Servicing Channel (LTSC) 2022 jako podstawowego systemu operacyjnego, wyraźnie wskazując na naszą bazę systemu Windows.

Uwaga

Mimo że ten kontener jest kontenerem systemu Windows, ścieżki nadal muszą używać ukośników. Aby uzyskać więcej informacji, zobacz Write a Dockerfile (Pisanie pliku Dockerfile).

  1. Zaloguj się do Azure CLI.

    az login
    
  2. Zaloguj się do usługi Azure Container Registry.

    az acr login -n <your_registry_name>
    
  3. Skompiluj obraz kontenera. W tym przykładzie użyto nazwy obrazu dotnetcore-docs-hello-world-windows.

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. Wypchnij obraz kontenera do usługi Azure Container Registry.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Uwaga

    Plik Dockerfile ustawia numer portu na 80 wewnętrznie. Aby uzyskać więcej informacji na temat konfigurowania kontenera, zobacz Konfigurowanie kontenera niestandardowego.

Wdróż na platformie Azure

Logowanie do witryny Azure Portal

Zaloguj się do witryny Azure Portal.

Tworzenie zasobów platformy Azure

  1. Wpisz app services w wyszukiwarce. W obszarze Usługi wybierz pozycję App Services.

    Zrzut ekranu przedstawiający wyszukiwanie

  2. Na stronie App Services wybierz pozycję Utwórz>aplikację internetową.

  3. Na karcie Podstawy w obszarze Szczegóły projektu wybierz poprawną subskrypcję. Wybierz pozycję Utwórz nową grupę zasobów. Wpisz nazwę myResourceGroup .

    Zrzut ekranu przedstawiający sekcję Szczegóły projektu z wybraną subskrypcją platformy Azure i grupą zasobów dla aplikacji internetowej.

  4. W obszarze Szczegóły wystąpienia:

    • Wprowadź globalnie unikatową nazwę aplikacji internetowej.
    • Wybierz Kontener.
    • W polu System operacyjny wybierz pozycję Linux.
    • Wybierz region, z którego chcesz obsługiwać aplikację.

    Zrzut ekranu przedstawiający sekcję Szczegóły wystąpienia, w której podano nazwę maszyny wirtualnej i wybierz jej region, obraz i rozmiar.

  5. W obszarze Plan usługi App Service wybierz pozycję Utwórz nowy plan usługi App Service. Wprowadź nazwę myAppServicePlan. Aby zmienić warstwę, wybierz pozycję Eksploruj plany cenowe, wybierz plan, a następnie wybierz pozycję Wybierz w dolnej części strony.

    Zrzut ekranu przedstawiający opcje planu usługi App Service.

  6. W górnej części strony wybierz kartę Kontener .

  7. Na karcie Kontener w polu Źródło obrazu wybierz pozycję Azure Container Registry . W obszarze Opcje usługi Azure Container Registry ustaw następujące wartości:

    • Rejestr: wybierz usługę Azure Container Registry.
    • Obraz: Wybierz dotnetcore-docs-hello-world-linux.
    • Tag: wybierz pozycję Latest (Najnowsza wersja).

    Zrzut ekranu przedstawiający opcje usługi Azure Container Registry.

  8. Wybierz pozycję Przejrzyj i utwórz w dolnej części strony.

    Zrzut ekranu przedstawiający przycisk Przejrzyj i utwórz na dole strony.

  9. Po zakończeniu walidacji wybierz pozycję Utwórz.

  10. Po zakończeniu wdrażania wybierz pozycję Przejdź do zasobu.

    Zrzut ekranu przedstawiający następny krok przechodzenia do zasobu.

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL http://<app-name>.azurewebsites.net.

Zrzut ekranu usługi Windows App Service, która informuje, że kontenery bez uwidocznionego portu działają w trybie w tle.

W stopce zostanie wyświetlony system operacyjny Host, który potwierdza, że działa w kontenerze systemu Windows.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie będziesz już potrzebować tych zasobów w przyszłości, możesz je usunąć przez usunięcie grupy zasobów.

W menu witryny Azure Portal lub na stronie głównej wybierz pozycję Grupy zasobów. Następnie na stronie Grupy zasobów wybierz pozycję myResourceGroup.

Na stronie myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

Wybierz pozycję Usuń grupę zasobów, wpisz myResourceGroup w polu tekstowym, aby potwierdzić, a następnie wybierz pozycję Usuń.

Gratulacje, pomyślnie ukończono ten przewodnik szybkiego startu.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, po prostu dodaj go do rejestru kontenerów. Aplikacja pobiera zaktualizowany obraz po ponownym uruchomieniu. Aby poinformować aplikację o natychmiastowym ściągnięciu zaktualizowanego obrazu, uruchom go ponownie.

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, takie jak ASP.NET lub Node.js, które działają w usługach IIS. Wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu. Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Pozwalają deweloperom w pełni dostosować kontenery i zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

W tym szybkim starcie pokazano, jak wdrożyć aplikację ASP.NET w obrazie systemu Windows z rejestru Microsoft Artifact Registry do usługi Azure App Service.

Wymagania wstępne

Łączenie się z platformą Azure

Zaloguj się do konta platformy Azure przy użyciu polecenia Connect-AzAccount i wykonaj następujące polecenie:

Connect-AzAccount

Tworzenie grupy zasobów

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup . Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Poniższy przykład tworzy grupę zasobów o nazwie myResourceGroup w lokalizacji eastus . Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service, uruchom polecenie Get-AzLocation .

New-AzResourceGroup -Name myResourceGroup -Location eastus

Polecenie zwraca wartość Login Succeeded.

Utwórz plan usługi App Service

Utwórz nowy plan usługi aplikacji przy użyciu polecenia „New-AzAppServicePlan”.

Poniższy przykład tworzy plan usługi App Service o nazwie myAppServicePlan w warstwie cenowej PremiumV3 (-Tier PremiumV3). Parametr -HyperV określa kontener systemu Windows.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

Tworzenie aplikacji internetowej

Utwórz nową aplikację przy użyciu polecenia New-AzWebApp :

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Parametr Name określa nazwę aplikacji internetowej.
  • Parametr AppServicePlan określa nazwę planu usługi App Service.
  • Parametr Location określa lokalizację.
  • Parametr ResourceGroupName określa nazwę grupy zasobów.
  • Parametr ContainerImageName określa nazwę obrazu kontenera i opcjonalny tag.

Wykonanie polecenia może potrwać kilka minut.

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL http://<app-name>.azurewebsites.net.

Zrzut ekranu usługi Windows App Service z komunikatem, że kontenery bez otwartego portu działają w trybie tła.

Czyszczenie zasobów

Usuń grupę zasobów za pomocą polecenia Remove-AzResourceGroup :

Remove-AzResourceGroup myResourceGroup

Gratulacje, pomyślnie ukończono ten przewodnik szybkiego startu.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, po prostu dodaj go do rejestru kontenerów. Aplikacja pobiera zaktualizowany obraz po ponownym uruchomieniu. Aby poinformować aplikację o natychmiastowym ściągnięciu zaktualizowanego obrazu, uruchom go ponownie.

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, takie jak ASP.NET lub Node.js, które działają w usługach IIS. Wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu. Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Pozwalają deweloperom w pełni dostosować kontenery i zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

W tym szybkim starcie pokazano, jak wdrożyć aplikację ASP.NET w obrazie systemu Windows z rejestru Microsoft Artifact Registry do usługi Azure App Service.

Wymagania wstępne

Łączenie się z platformą Azure

Zaloguj się do konta platformy Azure przy użyciu polecenia az login i wykonaj następujące czynności:

az login

Tworzenie grupy zasobów

Utwórz grupę zasobów za pomocą polecenia az group create. Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Poniższy przykład tworzy grupę zasobów o nazwie myResourceGroup w lokalizacji eastus . Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service, uruchom polecenie az appservice list-locations .

az group create --name myResourceGroup --location eastus

Utwórz plan usługi App Service

Utwórz plan usługi App Service w grupie zasobów przy użyciu polecenia az appservice plan create.

Poniższy przykład tworzy plan usługi App Service o nazwie myAppServicePlan w warstwie cenowej P1V3 (--sku P1V3).

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

Uwaga

Jeśli napotkasz błąd, zachowanie tego polecenia zostało zmienione przez następujące rozszerzenie: appservice-kube, usuń to appservice-kube rozszerzenie.

Tworzenie aplikacji internetowej

Utwórz niestandardową aplikację internetową kontenera w myAppServicePlan planie usługi App Service za pomocą polecenia az webapp create . Nie zapomnij zastąpić myContainerApp unikatową nazwą aplikacji (prawidłowe znaki to a-z, 0-9i -).

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Parametr Name określa nazwę aplikacji internetowej.
  • Parametr AppServicePlan określa nazwę planu usługi App Service.
  • Parametr Location określa lokalizację.
  • Parametr ResourceGroupName określa nazwę grupy zasobów.
  • Parametr deployment-container-image-name określa nazwę obrazu kontenera i opcjonalny tag.

Przechodzenie do aplikacji

Przejdź do wdrożonej aplikacji w przeglądarce internetowej pod adresem URL http://<app-name>.azurewebsites.net.

Zrzut ekranu usługi Windows App Service z komunikatem, że kontenery bez otwartego portu działają w trybie tła.

Czyszczenie zasobów

Usuń grupę zasobów przy użyciu polecenia az group delete :

az group delete --no-wait --name <resource_group>

Gratulacje, pomyślnie ukończono ten przewodnik szybkiego startu.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, po prostu dodaj go do rejestru kontenerów. Aplikacja pobiera zaktualizowany obraz po ponownym uruchomieniu. Aby poinformować aplikację o natychmiastowym ściągnięciu zaktualizowanego obrazu, uruchom go ponownie.