Samouczek: Tworzenie niestandardowego obrazu i uruchamianie go w App Service z rejestru prywatnegoTutorial: Build a custom image and run in App Service from a private registry

App Service udostępnia wbudowane obrazy platformy Docker w systemie Linux z obsługą określonych wersji, takich jak php 7,3 i Node. js 10,14.App Service provides built-in Docker images on Linux with support for specific versions, such as PHP 7.3 and Node.js 10.14. App Service używa technologii kontenera Docker do hostowania zarówno wbudowanych obrazów, jak i obrazów niestandardowych jako platformy jako usługi.App Service uses the Docker container technology to host both built-in images and custom images as a platform as a service. W tym samouczku dowiesz się, jak utworzyć obraz niestandardowy i uruchomić go w App Service.In this tutorial, you learn how to build a custom image and run it in App Service. Ten wzorzec jest przydatny, gdy wbudowane obrazy nie uwzględniają wybranego przez Ciebie języka lub gdy aplikacja wymaga określonej konfiguracji, której wbudowane obrazy nie obejmują.This pattern is useful when the built-in images don't include your language of choice, or when your application requires a specific configuration that isn't provided within the built-in images.

Niniejszy samouczek zawiera informacje na temat wykonywania następujących czynności:In this tutorial, you learn how to:

  • Wdrażanie obrazu niestandardowego w rejestrze kontenera prywatnegoDeploy a custom image to a private container registry
  • Uruchamianie obrazu niestandardowego w App ServiceRun the custom image in App Service
  • Konfigurowanie zmiennych środowiskowychConfigure environment variables
  • Aktualizowanie i ponowne wdrażanie obrazuUpdate and redeploy the image
  • Uzyskiwanie dostępu do dzienników diagnostycznychAccess diagnostic logs
  • Nawiązywanie połączenia z kontenerem przy użyciu protokołu SSHConnect to the container using SSH

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.If you don't have an Azure subscription, create a free account before you begin.

Wymagania wstępnePrerequisites

Do ukończenia tego samouczka niezbędne są następujące elementy:To complete this tutorial, you need:

Pobierz przykładDownload the sample

W oknie terminalu uruchom następujące polecenie, aby sklonować repozytorium przykładowej aplikacji na maszynę lokalną, a następnie przejść do katalogu zawierającego przykładowy kod.In a terminal window, run the following command to clone the sample app repository to your local machine, then change to the directory that contains the sample code.

git clone https://github.com/Azure-Samples/docker-django-webapp-linux.git --config core.autocrlf=input
cd docker-django-webapp-linux

Tworzenie obrazu na podstawie pliku platformy DockerBuild the image from the Docker file

W repozytorium Git zapoznaj się z zawartością pliku Dockerfile.In the Git repository, take a look at Dockerfile. W tym pliku opisano środowisko Python wymagane do uruchomienia aplikacji.This file describes the Python environment that is required to run your application. Ponadto obraz skonfiguruje serwer SSH na potrzeby bezpiecznej komunikacji między kontenerem a hostem.Additionally, the image sets up an SSH server for secure communication between the container and the host.

FROM python:3.4

RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

# ssh
ENV SSH_PASSWD "root:Docker!"
RUN apt-get update \
        && apt-get install -y --no-install-recommends dialog \
        && apt-get update \
    && apt-get install -y --no-install-recommends openssh-server \
    && echo "$SSH_PASSWD" | chpasswd 

COPY sshd_config /etc/ssh/
COPY init.sh /usr/local/bin/
    
RUN chmod u+x /usr/local/bin/init.sh
EXPOSE 8000 2222
#CMD ["python", "/code/manage.py", "runserver", "0.0.0.0:8000"]
ENTRYPOINT ["init.sh"]

Skompiluj obraz platformy Docker za pomocą polecenia docker build.Build the Docker image with the docker build command.

docker build --tag mydockerimage .

Sprawdź, czy kompilacja działa, uruchamiając kontener platformy Docker.Test that the build works by running the Docker container. Uruchom polecenie docker run i przekaż do niego nazwę oraz tag obrazu.Issue the docker run command and pass the name and tag of the image to it. Pamiętaj o określeniu portu przy użyciu argumentu -p.Be sure to specify the port using the -p argument.

docker run -p 8000:8000 mydockerimage

Upewnij się, że aplikacja internetowa i kontener działają prawidłowo, przechodząc do adresu http://localhost:8000.Verify the web app and container are functioning correctly by browsing to http://localhost:8000.

Lokalne testowanie aplikacji internetowych

Używanie usługi Azure Cloud ShellUse Azure Cloud Shell

Platforma Azure obsługuje Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Do pracy z usługami platformy Azure można używać bash lub PowerShell z Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Możesz użyć wstępnie zainstalowanych poleceń Cloud Shell, aby uruchomić kod w tym artykule bez konieczności instalowania niczego w środowisku lokalnym.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Aby rozpocząć Azure Cloud Shell:To start Azure Cloud Shell:

OpcjaOption Przykład/linkExample/Link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.Select Try It in the upper-right corner of a code block. Wybranie przycisku Wypróbuj nie powoduje automatycznego skopiowania kodu do Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Przykład try dla Azure Cloud Shell
Przejdź do https://shell.azure.comlub wybierz przycisk Uruchom Cloud Shell , aby otworzyć Cloud Shell w przeglądarce.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. uruchamiania Cloud Shell w nowym oknieLaunch Cloud Shell in a new window
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod w tym artykule w Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Rozpocznij Cloud Shell.Start Cloud Shell.

  2. Aby skopiować kod, wybierz przycisk Kopiuj w bloku kodu.Select the Copy button on a code block to copy the code.

  3. Wklej kod do sesji Cloud Shell, wybierając kolejno pozycje Ctrl+SHIFT+v w systemach Windows i Linux lub wybierając polecenie cmd+SHIFT+v w macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Wybierz klawisz ENTER , aby uruchomić kod.Select Enter to run the code.

Wdrażanie aplikacji na platformie AzureDeploy app to Azure

Aby utworzyć aplikację, która używa właśnie utworzonego obrazu, należy uruchomić polecenia interfejsu CLI platformy Azure, które tworzą grupę zasobów, wypchnięcie obrazu, a następnie utworzenie aplikacji sieci Web App Service plan w celu jej uruchomienia.To create an app that uses the image you just created, you run Azure CLI commands that create a resource group, pushes the image, and then creates the App Service plan web app to run it.

Tworzenie grupy zasobówCreate a resource group

Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure, takich jak aplikacje internetowe, bazy danych i konta magazynu, oraz zarządzania nimi.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Na przykład można później usunąć całą grupę zasobów w jednym prostym kroku.For example, you can choose to delete the entire resource group in one simple step later.

W usłudze Cloud Shell utwórz grupę zasobów za pomocą polecenia az group create.In the Cloud Shell, create a resource group with the az group create command. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji West Europe (Europa Zachodnia).The following example creates a resource group named myResourceGroup in the West Europe location. Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service w systemie Linux w warstwie Podstawowa, uruchom polecenie az appservice list-locations --sku B1 --linux-workers-enabled.To see all supported locations for App Service on Linux in Basic tier, run the az appservice list-locations --sku B1 --linux-workers-enabled command.

az group create --name myResourceGroup --location "West Europe"

Zasadniczo grupy zasobów i zasoby są tworzone w pobliskim regionie.You generally create your resource group and the resources in a region near you.

Po zakończeniu działania polecenia zostaną wyświetlone dane wyjściowe JSON z właściwościami grupy zasobów.When the command finishes, a JSON output shows you the resource group properties.

Tworzenie rejestru Azure Container RegistryCreate an Azure Container Registry

W usłudze Cloud Shell utwórz rejestr Azure Container Registry przy użyciu polecenia az acr create.In the Cloud Shell, use the az acr create command to create an Azure Container Registry.

az acr create --name <azure-container-registry-name> --resource-group myResourceGroup --sku Basic --admin-enabled true

Zaloguj się do Azure Container RegistrySign in to Azure Container Registry

Aby wypchnąć obraz do rejestru, należy uwierzytelnić się w rejestrze prywatnym.To push an image to the registry, you need to authenticate with the private registry. W Cloud Shell Użyj polecenia az acr show , aby pobrać poświadczenia z utworzonego rejestru.In the Cloud Shell, use the az acr show command to retrieve the credentials from the registry you created.

az acr credential show --name <azure-container-registry-name>

Dane wyjściowe ujawniają dwa hasła wraz z nazwą użytkownika.The output reveals two passwords along with the user name.

{
  "passwords": [
    {
      "name": "password",
      "value": "{password}"
    },
    {
      "name": "password2",
      "value": "{password}"
    }
  ],
  "username": "<registry-username>"
}

W lokalnym oknie terminala Zaloguj się do Azure Container Registry przy użyciu polecenia docker login, jak pokazano w poniższym przykładzie.From your local terminal window, sign in to the Azure Container Registry using the docker login command, as shown in the following example. Zastąp <Azure-Container-Registry-name > a <registry-username > wartościami dla rejestru.Replace <azure-container-registry-name> and <registry-username> with values for your registry. Po wyświetleniu monitu wpisz jedno z haseł z poprzedniego kroku.When prompted, type in one of the passwords from the previous step.

docker login <azure-container-registry-name>.azurecr.io --username <registry-username>

Upewnij się, że logowanie powiedzie się.Confirm that the login succeeds.

Wypychanie obrazu do usługi Azure Container RegistryPush image to Azure Container Registry

Oznacz obraz lokalny dla Azure Container Registry.Tag your local image for the Azure Container Registry. Przykład:For example:

docker tag mydockerimage <azure-container-registry-name>.azurecr.io/mydockerimage:v1.0.0

Wypchnij obraz przy użyciu polecenia docker push.Push the image by using the docker push command. Otaguj obraz nazwą rejestru, a następnie nazwą i tagiem obrazu.Tag the image with the name of the registry, followed by your image name and tag.

docker push <azure-container-registry-name>.azurecr.io/mydockerimage:v1.0.0

Wróć do Cloud Shell, aby sprawdzić, czy wypychanie zakończyło się pomyślnie.Back in the Cloud Shell, verify that the push is successful.

az acr repository list -n <azure-container-registry-name>

Należy uzyskać następujące dane wyjściowe.You should get the following output.

[
  "mydockerimage"
]

Tworzenie planu usługi App ServiceCreate App Service plan

W usłudze Cloud Shell utwórz plan usługi App Service w grupie zasobów za pomocą polecenia az appservice plan create.In the Cloud Shell, create an App Service plan in the resource group with the az appservice plan create command.

Poniższy przykład tworzy App Service plan o nazwie myAppServicePlan w warstwie cenowej bezpłatna (--sku F1) i w kontenerze systemu Linux (--is-linux).The following example creates an App Service plan named myAppServicePlan in the Free pricing tier (--sku F1) and in a Linux container (--is-linux).

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku F1 --is-linux

Po utworzeniu planu usługi App Service interfejs wiersza polecenia platformy Azure wyświetli informacje podobne do następujących:When the App Service plan has been created, the Azure CLI shows information similar to the following example:

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Tworzenie aplikacji internetowejCreate web app

W usłudze Cloud Shell utwórz aplikację internetową w planie usługi App Service myAppServicePlan za pomocą polecenia az webapp create.In the Cloud Shell, create a web app in the myAppServicePlan App Service plan with the az webapp create command. Zastąp <App-name > nazwą z unikatową nazwą aplikacji, a <Azure-Container-registry-Name > nazwą rejestru.Replace <app-name> with a unique app name, and <azure-container-registry-name> with your registry name.

az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --deployment-container-image-name <azure-container-registry-name>.azurecr.io/mydockerimage:v1.0.0

Po utworzeniu aplikacji internetowej w interfejsie wiersza polecenia platformy Azure zostaną wyświetlone dane wyjściowe podobne do następujących:When the web app has been created, the Azure CLI shows output similar to the following example:

{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app-name>.azurewebsites.net",
  "deploymentLocalGitUrl": "https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git",
  "enabled": true,
  < JSON data removed for brevity. >
}

Konfigurowanie poświadczeń rejestru w aplikacji sieci WebConfigure registry credentials in web app

Aby uzyskać App Service do ściągania obrazu prywatnego, potrzebne są informacje o rejestrze i obrazie.For App Service to pull the private image, it needs information about your registry and image. W Cloud Shell podaj je za pomocą polecenia az webapp config container set .In the Cloud Shell, provide them with the az webapp config container set command. Zastąp <App-name > , <Azure-Container-registry-name > , <registry-username > i <Password > .Replace <app-name>, <azure-container-registry-name>, <registry-username>, and <password>.

az webapp config container set --name <app-name> --resource-group myResourceGroup --docker-custom-image-name <azure-container-registry-name>.azurecr.io/mydockerimage:v1.0.0 --docker-registry-server-url https://<azure-container-registry-name>.azurecr.io --docker-registry-server-user <registry-username> --docker-registry-server-password <password>

Uwaga

W przypadku korzystania z rejestru innego niż centrum platformy Docker --docker-registry-server-url muszą być sformatowane jako https://, a następnie w pełni kwalifikowana nazwa domeny rejestru.When using a registry other than Docker Hub, --docker-registry-server-url must be formatted as https:// followed by the fully qualified domain name of the registry.

Konfigurowanie zmiennych środowiskowychConfigure environment variables

Większość obrazów platformy Docker używa niestandardowych zmiennych środowiskowych, takich jak port inny niż 80.Most Docker images use custom environment variables, such as a port other than 80. Poinformuj App Service o porcie używanym przez obraz przy użyciu ustawienia aplikacji WEBSITES_PORT.You tell App Service about the port that your image uses by using the WEBSITES_PORT app setting. Na stronie usługi GitHub dotyczącej przykładowego kodu w języku Python w tym samouczku przedstawiono, co jest potrzebne, aby ustawić opcję WEBSITES_PORT na wartość 8000.The GitHub page for the Python sample in this tutorial shows that you need to set WEBSITES_PORT to 8000.

Aby określić ustawienia aplikacji, użyj polecenia az webapp config appsettings set w usłudze Cloud Shell.To set app settings, use the az webapp config appsettings set command in the Cloud Shell. Ustawienia aplikacji są rozdzielane spacjami i rozróżniana jest w nich wielkość liter.App settings are case-sensitive and space-separated.

az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WEBSITES_PORT=8000

Testowanie aplikacji internetowejTest the web app

Upewnij się, że aplikacja internetowa działa, przechodząc do niej (http://<app-name>.azurewebsites.net).Verify that the web app works by browsing to it (http://<app-name>.azurewebsites.net).

Uwaga

Gdy uzyskujesz dostęp do aplikacji po raz pierwszy, może to potrwać pewien czas, ponieważ App Service muszą ściągnąć cały obraz.The first time you access the app, it may take some time because App Service needs to pull the entire image. Jeśli przeglądarka przeprowadzi limit czasu, należy odświeżyć stronę.If the browser times out, just refresh the page.

Testowanie konfiguracji portu aplikacji internetowej

Zmienianie aplikacji internetowej i ponowne wdrażanieChange web app and redeploy

W lokalnym repozytorium Git otwórz plik app/templates/app/index.html.In your local Git repository, open app/templates/app/index.html. Znajdź pierwszy element HTML i zmień go na:Locate the first HTML element and change it to.

<nav class="navbar navbar-inverse navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <a class="navbar-brand" href="#">Azure App Service - Updated Here!</a>
      </div>
    </div>
  </nav>

Po zmodyfikowaniu pliku języka Python i zapisaniu go należy ponownie utworzyć i wypchnąć obraz platformy Docker.Once you've modified the Python file and saved it, you must rebuild and push the new Docker image. Następnie uruchom ponownie aplikację internetową, aby zmiany zaczęły obowiązywać.Then restart the web app for the changes to take effect. Użyj tych samych poleceń, których już wcześniej używano w tym samouczku.Use the same commands that you have previously used in this tutorial. Można odwołać się do kompilowania obrazu z pliku Docker i wypychania obrazu do Azure Container Registry.You can refer to Build the image from the Docker file and Push image to Azure Container Registry. Przetestuj aplikację internetową, postępując zgodnie z instrukcjami w sekcji Testowanie aplikacji internetowej.Test the web app by following the instructions in Test the web app.

Uzyskiwanie dostępu do dzienników diagnostycznychAccess diagnostic logs

Dzienniki konsoli z on wygenerowany wewnątrz kontenera możesz uzyskać dostęp.You can access the console logs generated from inside the container. Najpierw należy włączyć rejestrowanie kontenerów przez uruchomienie następującego polecenia w usłudze Cloud Shell:First, turn on container logging by running the following command in the Cloud Shell:

az webapp log config --name <app-name> --resource-group myResourceGroup --docker-container-logging filesystem

Po włączeniu rejestrowania kontenerów uruchom następujące polecenie, aby wyświetlić strumień dziennika:Once container logging is turned on, run the following command to see the log stream:

az webapp log tail --name <app-name> --resource-group myResourceGroup

Jeśli nie widzisz dzienników konsoli, sprawdź ponownie w ciągu 30 sekund.If you don't see console logs immediately, check again in 30 seconds.

Uwaga

Można też sprawdzić pliki dziennika z przeglądarki na https://<app-name>.scm.azurewebsites.net/api/logs/docker.You can also inspect the log files from the browser at https://<app-name>.scm.azurewebsites.net/api/logs/docker.

Aby zatrzymać przesyłanie strumieniowe dzienników w dowolnym momencie, wpisz Ctrl + C.To stop log streaming at any time, type Ctrl+C.

Włącz połączenia SSHEnable SSH connections

Protokół SSH umożliwia bezpieczną komunikację między kontenerem i klientem.SSH enables secure communication between a container and a client. Aby włączyć połączenie SSH z kontenerem, należy go skonfigurować dla obrazu niestandardowego.To enable SSH connection to your container, your custom image must be configured for it. Przyjrzyjmy się przykładowym repozytorium, które ma już niezbędną konfigurację.Let's take a look at the sample repository that already has the necessary configuration.

  • W pliku dockerfilePoniższy kod instaluje serwer SSH, a także ustawia poświadczenia logowania.In the Dockerfile, the following code installs the SSH server and also sets the sign-in credentials.

    ENV SSH_PASSWD "root:Docker!"
    RUN apt-get update \
            && apt-get install -y --no-install-recommends dialog \
            && apt-get update \
      && apt-get install -y --no-install-recommends openssh-server \
      && echo "$SSH_PASSWD" | chpasswd 
    

    Uwaga

    Ta konfiguracja nie zezwala na połączenia zewnętrzne z kontenerem.This configuration does not allow external connections to the container. Protokół SSH jest dostępny tylko za pośrednictwem witryny Kudu/SCM.SSH is available only through the Kudu/SCM Site. Witryna kudu/SCM jest uwierzytelniana przy użyciu konta platformy Azure.The Kudu/SCM site is authenticated with your Azure account.

  • Pliku dockerfile kopiuje plik sshd_config w repozytorium do katalogu /etc/ssh/ .The Dockerfile copies the sshd_config file in the repository to the /etc/ssh/ directory.

    COPY sshd_config /etc/ssh/
    
  • Pliku dockerfile uwidacznia port 2222 w kontenerze.The Dockerfile exposes port 2222 in the container. Jest to port wewnętrzny dostępny tylko dla kontenerów w sieci mostkowanej prywatnej sieci wirtualnej.It is an internal port accessible only by containers within the bridge network of a private virtual network.

    EXPOSE 8000 2222
    
  • Skrypt wejścia uruchamia serwer SSH.The entry script starts the SSH server.

    #!/bin/bash
    service ssh start
    

Otwieranie połączenia SSH z konteneremOpen SSH connection to container

Połączenie SSH jest dostępne tylko za pośrednictwem witryny kudu, która jest dostępna w https://<app-name>.scm.azurewebsites.net.SSH connection is available only through the Kudu site, which is accessible at https://<app-name>.scm.azurewebsites.net.

Aby nawiązać połączenie, przejdź pod adres https://<app-name>.scm.azurewebsites.net/webssh/host i zaloguj się przy użyciu konta platformy Azure.To connect, browse to https://<app-name>.scm.azurewebsites.net/webssh/host and sign in with your Azure account.

Nastąpi wtedy przekierowanie do strony z wyświetloną interaktywną konsolą.You are then redirected to a page displaying an interactive console.

Możesz sprawdzić, czy w kontenerze są uruchomione określone aplikacje.You may wish to verify that certain applications are running in the container. Aby sprawdzić kontener i zweryfikować uruchomione procesy, uruchom polecenie top w wierszu polecenia.To inspect the container and verify running processes, issue the top command at the prompt.

top

Polecenie top uwidacznia wszystkie uruchomione procesy w kontenerze.The top command exposes all running processes in a container.

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 1 root      20   0  945616  35372  15348 S  0.0  2.1   0:04.63 node
20 root      20   0   55180   2776   2516 S  0.0  0.2   0:00.00 sshd
42 root      20   0  944596  33340  15352 S  0.0  1.9   0:05.80 node /opt/s+
56 root      20   0   59812   5244   4512 S  0.0  0.3   0:00.93 sshd
58 root      20   0   20228   3128   2664 S  0.0  0.2   0:00.00 bash
62 root      20   0   21916   2272   1944 S  0.0  0.1   0:03.15 top
63 root      20   0   59812   5344   4612 S  0.0  0.3   0:00.03 sshd
65 root      20   0   20228   3140   2672 S  0.0  0.2   0:00.00 bash
71 root      20   0   59812   5380   4648 S  0.0  0.3   0:00.02 sshd
73 root      20   0   20228   3160   2696 S  0.0  0.2   0:00.00 bash
77 root      20   0   21920   2304   1972 R  0.0  0.1   0:00.00 top

Gratulacje!Congratulations! W App Service został skonfigurowany niestandardowy kontener systemu Linux.You've configured a custom Linux container in App Service.

Czyszczenie wdrożeniaClean up deployment

Po wykonaniu przykładowego skryptu możesz uruchomić następujące polecenie, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby.After the sample script has been run, the following command can be used to remove the resource group and all resources associated with it.

az group delete --name myResourceGroup

Następne krokiNext steps

Które czynności umiesz wykonać:What you learned:

  • Wdrażanie obrazu niestandardowego w rejestrze kontenera prywatnegoDeploy a custom image to a private container registry
  • Uruchamianie obrazu niestandardowego w App ServiceRun the custom image in App Service
  • Konfigurowanie zmiennych środowiskowychConfigure environment variables
  • Aktualizowanie i ponowne wdrażanie obrazuUpdate and redeploy the image
  • Uzyskiwanie dostępu do dzienników diagnostycznychAccess diagnostic logs
  • Nawiązywanie połączenia z kontenerem przy użyciu protokołu SSHConnect to the container using SSH

Przejdź do następnego samouczka, aby dowiedzieć się, jak zamapować niestandardową nazwę DNS na aplikację.Advance to the next tutorial to learn how to map a custom DNS name to your app.

Lub zapoznaj się z innymi zasobami:Or, check out other resources: