Udostępnij za pomocą


Szybki start: uruchamianie niestandardowego kontenera na platformie Azure

W tym przewodniku Szybki start nauczysz się, jak wdrożyć aplikację ASP.NET w obrazie Windows w usłudze Azure Container Registry z poziomu programu Visual Studio. Aplikacja jest uruchamiana w kontenerze niestandardowym w usłudze aplikacja systemu Azure Service.

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, które działają w usługach Internet Information Services (IIS). Te wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu.

Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Deweloperzy mogą używać kontenerów niestandardowych, aby zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

Wymagania wstępne

Jeśli program Visual Studio 2022 został już zainstalowany:

  • Zainstaluj najnowsze aktualizacje w programie Visual Studio, wybierając pozycję Sprawdzanie dostępnościaktualizacji>.
  • Dodaj obciążenia w programie Visual Studio, wybierając Narzędzia>Pobierz narzędzia i funkcje.

tworzenie aplikacji internetowej platformy ASP.NET

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

  2. W obszarze Utwórz nowy projekt wybierz pozycję ASP.NET Aplikacja internetowa (.NET Framework) dla C#elementu , a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający okno dialogowe Tworzenie nowego projektu.

  3. W obszarze Konfigurowanie nowej nazwy projektu> nadaj aplikacjimyfirstazurewebapp nazwę . W obszarze Framework wybierz pozycję .NET Framework 4.8, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający konfigurowanie projektu aplikacji internetowej.

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

  5. W obszarze Uwierzytelnianie wybierz pozycję Brak. W obszarze Zaawansowane wybierz pozycję Obsługa kontenera i wyczyść pole Konfigurowanie 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 zostanie otwarty automatycznie, otwórz go, wybierając pozycję Eksplorator rozwiązań.

  7. Potrzebujesz obsługiwanego obrazu bazowego. Zmień obraz nadrzędny, zastępując FROM wiersz następującym kodem, a następnie zapisz 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 myfirstazurewebapp projekt, a następnie wybierz polecenie Publikuj.

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

    Zrzut ekranu przedstawiający ekran Wybierz rejestr kontenerów Docker.

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

    Zrzut ekranu przedstawiający okienko przeglądu publikowania w projekcie.

  4. W obszarze Publikuj wybierz poprawną subskrypcję. Aby utworzyć nowy rejestr kontenerów, wybierz pozycję Utwórz nowy w rejestrach kontenerów.

    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 myResourceGroup nazwę. 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 Rejestr kontenerów wybierz utworzony rejestr, a następnie wybierz pozycję Zakończ.

    Zrzut ekranu przedstawiający ekran Wybierz istniejący rejestr Azure Container.

    Poczekaj na zakończenie wdrożenia. W okienku Publikowanie zostanie wyświetlona nazwa repozytorium. Wybierz przycisk Kopiuj , 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 sposób tworzenia aplikacji internetowej dla kontenerów.

  6. Wybierz pozycję Dalej: Baza danych>Dalej: Kontener.

  7. W polu Źródło obrazu wybierz pozycję Docker Hub. W polu Obraz i tag wprowadź nazwę repozytorium skopiowaną wcześniej w opcji Publikowanie do Azure Container Registry.

    Zrzut ekranu przedstawiający sposób konfigurowania aplikacji internetowej dla kontenerów.

    Jeśli masz niestandardowy obraz aplikacji internetowej w innej lokalizacji, na przykład w usłudze Azure Container Registry lub innym prywatnym repozytorium, możesz skonfigurować go tutaj. Wybierz pozycję Recenzja i Utwórz.

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

    Zrzut ekranu przedstawiający sposób tworzenia 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 sekcji podsumowania kliknij link obok Domena domyślna.

Zostanie otwarta nowa strona przeglądarki.

Zrzut ekranu przedstawiający uruchamianie niestandardowego kontenera systemu Windows.

Odczekaj kilka minut i spróbuj ponownie. Spróbuj, dopóki nie uzyskasz domyślnej strony głównej ASP.NET.

Zrzut ekranu przedstawiający uruchomiony niestandardowy kontener systemu Windows.

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, wprowadzając nazwę aplikacji zamiast \<app_name>.

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 przejdź do Eksploratora rozwiązań. Wybierz pozycję 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ć na platformie Azure, kliknij prawym przyciskiem myszy projekt myfirstazurewebapp w Eksploratorze rozwiązań, a następnie wybierz polecenie Publikuj.

  4. W okienku publikowania wybierz pozycję Publikuj i poczekaj na zakończenie publikowania.

  5. Aby nakazać usłudze App Service ściągnięcie obrazu z usługi Docker Hub, uruchom ponownie aplikację. W okienku 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.

  6. Przejdź ponownie do kontenera niestandardowego. Podczas odświeżania strony aplikacja powinna najpierw powrócić do strony Uruchamianie . Następnie powinna zostać wyświetlona zaktualizowana strona.

    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 oczekujesz, że te zasoby będą potrzebne w przyszłości, możesz je usunąć, usuwając grupę zasobów:

  1. W menu witryny Azure Portal lub stronie głównej wybierz pozycję Grupy> zasobówmyResourceGroup.

  2. W okienku myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

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

Z tego krótkiego przewodnika dowiesz się, jak wdrożyć obraz z usługi Azure Container Registry do usługi Azure App Service.

Usługa 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.

Aby uzyskać więcej informacji na temat konteneryzowanych aplikacji w środowisku bezserwerowym, zobacz Container apps (Aplikacje kontenerów).

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 ustawić opcję Admin User na Włącz podczas tworzenia rejestru kontenerów. Można go również ustawić w sekcji Klucze dostępu w okienku rejestru w witrynie Azure Portal. To ustawienie jest potrzebne, aby uzyskać dostęp do usługi App Service. Aby uzyskać informacje o tożsamości zarządzanej, zobacz Wdrażanie z usługi Azure Container Registry.

Zaloguj

  1. Otwórz program VS Code.

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

    Zrzut ekranu przedstawiający sposób logowania się do platformy Azure w programie VS Code.

  3. Na pasku stanu u dołu sprawdź, czy adres e-mail konta platformy Azure jest poprawny. Subskrypcja powinna być wyświetlana w APP SERVICE eksploratorze.

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

    Zrzut ekranu przedstawiający wartość Rejestry z rozwiniętą platformą Azure.

Sprawdzanie wymagań wstępnych

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

docker --version

Tworzenie i kompilowanie obrazu

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

    W tym pliku obraz nadrzędny jest jednym z wbudowanych kontenerów platformy .NET usługi App Service.

    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ń, a następnie 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 przedstawiający 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 wybierz Enter.

  4. Gdy program VS 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 przedstawiający 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, a następnie 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 używane do hostowania witryny internetowej. Ten przewodnik szybkiego startu korzysta z podstawowego planu hostingowego na infrastrukturze Linux, co oznacza, że witryna jest hostowana na maszynie z systemem Linux wraz z innymi witrynami. Jeśli zaczniesz od planu podstawowego, możesz użyć portalu Azure do zwiększania zasobów, aby maszyna obsługiwała wyłącznie Twoją stronę. 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.

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.

Aby rozwiązać ten problem, przejdź do tematu Napotkałem problem.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie oczekujesz, że te zasoby będą potrzebne w przyszłości, możesz je usunąć, usuwając grupę zasobów:

  1. W menu witryny Azure Portal lub stronie głównej wybierz pozycję Grupy> zasobówmyResourceGroup.

  2. W okienku myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

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

Inne rozszerzenia platformy Azure:

W tym szybkim rozpoczęciu dowiesz się, jak wdrożyć obraz z usługi Azure Container Registry do usługi Azure App Service.

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.

Aby uzyskać więcej informacji na temat konteneryzowanych aplikacji w środowisku bezserwerowym, zobacz Omówienie usługi Azure Container Apps.

Wymagania wstępne

Klonowanie przykładowego repozytorium

Sklonuj przykładową aplikację platformy .NET 6.0 przy użyciu 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, który zawiera Dockerfile.linux plik.

  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 dotnetcore-docs-hello-world-linux obrazu.

    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, zobacz Konfigurowanie kontenera niestandardowego.

Wdróż na platformie Azure

  1. Zaloguj się do witryny Azure Portal.

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

    Zrzut ekranu przedstawiający sposób wyszukiwania usług aplikacji w witrynie Azure Portal.

  3. W okienku App Services wybierz pozycję Utwórz>aplikację internetową.

  4. Na karcie Podstawowe w obszarze Szczegóły projektu wybierz poprawną subskrypcję. Aby utworzyć nową grupę zasobów, wybierz pozycję Utwórz nową. Wpisz nazwę myResourceGroup .

    Zrzut ekranu przedstawiający sekcję szczegółów projektu, w której wybrano subskrypcję platformy Azure i grupę zasobów dla aplikacji internetowej.

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

    • Wprowadź globalnie unikatową nazwę aplikacji internetowej.
    • Wybierz Kontener.
    • W polu System operacyjny wybierz pozycję Linux.
    • W obszarze Region wybierz region, z którego planujesz obsłużyć aplikację.

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

  6. W obszarze Plan usługi App Service wybierz pozycję Utwórz nową. Wprowadź nazwę myAppServicePlan. Aby przejść do warstwy bezpłatnej, wybierz pozycję Zmień rozmiar>Dev/Test>F1>Zastosuj.

    Zrzut ekranu przedstawiający opcje planu.

  7. W górnej części okienka wybierz kartę Kontener .

  8. 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 rejestr kontenerów.
    • Obraz: Wybierz dotnetcore-docs-hello-world-linux.
    • Tag: wybierz pozycję Latest (Najnowsza wersja).

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

  9. Wybierz pozycję Przejrzyj i utwórz w dolnej części okienka.

    Zrzut ekranu przedstawiający przycisk w dolnej części okienka.

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

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

    Zrzut ekranu przedstawiający przycisk umożliwiający przejście 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żona aplikację.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, wypchnij 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.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie oczekujesz, że te zasoby będą potrzebne w przyszłości, możesz je usunąć, usuwając grupę zasobów:

  1. W menu witryny Azure Portal lub stronie głównej wybierz pozycję Grupy> zasobówmyResourceGroup.

  2. W okienku myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

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

W tym przewodniku szybkiego startu dowiesz się, jak wdrożyć aplikację ASP.NET w obrazie systemu Windows z Azure Container Registry do Azure App Service.

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 Internet Information Services (IIS). Te wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu.

Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Deweloperzy mogą używać kontenerów niestandardowych, aby zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

Wymagania wstępne

Klonowanie przykładowego repozytorium

Sklonuj przykładową aplikację platformy .NET 6.0 przy użyciu 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 jesteś w folderze głównym sklonowanego repozytorium. To repozytorium zawiera Dockerfile.windows plik. W tym artykule użyto długoterminowego kanału obsługi systemu Windows Nano Server 2022 jako podstawowego systemu operacyjnego i wyraźnie wskazuje na bazowy system 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 dotnetcore-docs-hello-world-windows obrazu.

    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, zobacz Konfigurowanie kontenera niestandardowego.

Wdróż na platformie Azure

  1. Zaloguj się do witryny Azure Portal.

  2. Wprowadź usługi aplikacji w polu wyszukiwania. W obszarze Usługi wybierz pozycję App Services.

    Zrzut ekranu przedstawiający sposób wyszukiwania usług aplikacji w witrynie Azure Portal.

  3. W usłudze App Services wybierz pozycję Utwórz>aplikację internetową.

  4. Na karcie Podstawowe w obszarze Szczegóły projektu wybierz poprawną subskrypcję. Wybierz pozycjęUtwórz nowy. Wprowadź myResourceGroup jako nazwę.

    Zrzut ekranu przedstawiający sekcję Szczegóły projektu, w której wybrano subskrypcję platformy Azure i grupę zasobów dla aplikacji internetowej.

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

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

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

  6. W obszarze Plan usługi App Service wybierz pozycję Utwórz nową. Wprowadź myAppServicePlan dla nazwy. Aby zmienić warstwę, wybierz pozycję Eksploruj plany cenowe, wybierz plan, a następnie wybierz pozycję Wybierz w dolnej części okienka.

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

  7. W górnej części okienka wybierz kartę Kontener .

  8. 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 rejestr kontenerów.
    • Obraz: Wybierz dotnetcore-docs-hello-world-linux.
    • Tag: wybierz pozycję Latest (Najnowsza wersja).

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

  9. Wybierz pozycję Przejrzyj i utwórz w dolnej części okienka.

    Zrzut ekranu przedstawiający przycisk Recenzuj i utwórz w dolnej części okienka.

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

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

    Zrzut ekranu przedstawiający sposób przechodzenia do zasobu.

Przejdź do aplikacji

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

Zrzut ekranu przedstawiający usługę App Service systemu Windows.

System operacyjny hosta jest wyświetlany w stopce, co potwierdza, że aplikacja działa w kontenerze systemu Windows.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, prześlij 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.

Czyszczenie zasobów

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów. Jeśli nie oczekujesz, że te zasoby będą potrzebne w przyszłości, możesz je usunąć, usuwając grupę zasobów:

  1. W menu witryny Azure Portal lub stronie głównej wybierz pozycję Grupy> zasobówmyResourceGroup.

  2. W okienku myResourceGroup upewnij się, że wymienione zasoby są tymi, które chcesz usunąć.

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

Szybki przewodnik pomoże Ci dowiedzieć się, jak wdrożyć aplikację ASP.NET w obrazie Windows z usługi Microsoft Artifact Registry do usługi Azure App Service.

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, które działają w usługach Internet Information Services (IIS). Wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu.

Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Deweloperzy mogą używać kontenerów niestandardowych, aby zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

Wymagania wstępne

Łączenie się z platformą Azure

Zaloguj się do swojego konta platformy Azure przy użyciu polecenia Connect-AzAccount i postępuj zgodnie z instrukcjami.

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 obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji eastus. Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service, uruchom Get-AzLocation polecenie .

New-AzResourceGroup -Name myResourceGroup -Location eastus

Polecenie zwraca wartość Login Succeeded.

Tworzenie planu usługi App Service

Utwórz nowy plan usługi App Service, używając 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 New-AzWebApp polecenia :

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 przedstawiający usługę App Service systemu Windows.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, wypchnij 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.

Czyszczenie zasobów

Usuń grupę zasobów przy użyciu Remove-AzResourceGroup polecenia :

Remove-AzResourceGroup myResourceGroup

Szybki przewodnik pomoże Ci dowiedzieć się, jak wdrożyć aplikację ASP.NET w obrazie Windows z usługi Microsoft Artifact Registry do usługi Azure App Service.

Usługa Azure App Service udostępnia wstępnie zdefiniowane stosy aplikacji w systemie Windows, które działają w usługach Internet Information Services (IIS). Te wstępnie skonfigurowane stosy aplikacji blokują system operacyjny i uniemożliwiają dostęp niskiego poziomu.

Niestandardowe kontenery systemu Windows nie mają tych ograniczeń. Deweloperzy mogą używać kontenerów niestandardowych, aby zapewnić konteneryzowanym aplikacjom pełny dostęp do funkcji systemu Windows.

Wymagania wstępne

Łączenie się z platformą Azure

Zaloguj się do swojego konta platformy Azure. Użyj polecenia az login i postępuj zgodnie z wiadomością.

az login

Tworzenie grupy zasobów

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

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

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 pojawi się komunikat o błędzie "Zachowanie tego polecenia zostało zmienione przez następujące rozszerzenie: appservice-kube", usuń rozszerzenie appservice-kube.

Tworzenie aplikacji internetowej

Utwórz niestandardową aplikację internetową kontenera w myAppServicePlan planie App Service używając az webapp create polecenia. 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 przedstawiający usługę App Service systemu Windows.

Aplikacja usługi App Service pobiera z rejestru kontenerów za każdym razem, gdy jest uruchamiana. Jeśli ponownie skompilujesz obraz, prześlij 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.

Czyszczenie zasobów

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

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