Övning – Distribuera en Docker-avbildning till en Azure-containerinstans

Slutförd

Med en Azure-containerinstans kan du köra en Docker-avbildning i Azure.

I föregående övning paketerade och testade du webbappen som en lokal Docker-avbildning. Nu vill du använda utdata från övningen och göra webbprogrammet tillgängligt globalt. För att uppnå den här tillgängligheten kör du avbildningen som en Azure Container Instance.

I den här övningen får du lära dig hur du återskapar avbildningen för webbappen och laddar upp den till Azure Container Registry. För att köra avbildningen ska du använda tjänsten Azure Container Instance.

Viktigt!

Du behöver en egen Azure-prenumeration för att utföra den här övningen, och avgifter kan tillkomma. Om du inte redan har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Skapa ett containerregister

  1. Logga in på Azure-portalen med din Azure-prenumeration.

  2. På resursmenyn eller på sidan Start väljer du Skapa en resurs. Fönstret Skapa en resurs visas.

  3. På menyn väljer du Containrar och sedan Container Registry.

    Screenshot that shows Create a resource with Container Registry.

    Fönstret Skapa containerregister visas.

  4. På fliken Grundläggande anger du följande värden för varje inställning.

    Inställning Värde
    Projektinformation
    Prenumeration Välj din Azure-prenumeration där du får skapa och hantera resurser.
    Resursgrupp Välj Skapa en ny resursgrupp med namnet learn-deploy-container-aci-rg. Kom ihåg namnet du väljer. du kommer att använda den i resten av övningarna i den här modulen. Kom också ihåg att rensa den här resursen när du är klar med modulen.
    Instansinformation
    Registernamn Välj ett valfritt namn. Registernamnet måste vara unikt i Azure och innehålla 5–50 alfanumeriska tecken.
    Plats Välj en plats nära dig.
    SKU Standard
  5. Välj Granska + skapa. När meddelandet Validering har skickats väljer du Skapa. Vänta tills containerregistret har distribuerats innan du fortsätter.

  6. Välj Gå till resurs. Fönstret Containerregister visar det viktigaste om ditt containerregister.

  7. Välj Åtkomstnycklar under Inställningar på resursmenyn. Fönstret Åtkomstnycklar för containerregistret visas.

  8. Om inställningen Administratörsanvändare är inaktiverad väljer du skjutreglaget för att aktivera åtkomstnyckeln för administratörsanvändare. Användarnamnet och lösenorden visas för containerregistret.

  9. Anteckna registernamnet, inloggningsservern, användarnamnet och lösenorden för containerregistret.

    Kommentar

    I den här övningen aktiverar vi åtkomst till administratörskontot så att vi kan ladda upp avbildningar och testa registret. I en produktionsmiljö är det viktigt att inaktivera åtkomsten till administratörsanvändarkontot och använda Microsoft Entra ID Protection så snart du är säker på att registret fungerar som förväntat.

    Screenshot of the Access keys details.

Ladda upp avbildningen för hotellbokningssystemets app till Azure Container Registry

  1. Kör följande kommando i den lokala kommandotolken och ersätt <registry-name> med namnet på containerregistret för att tagga den aktuella reservationsystem avbildningen med namnet på registret:

    docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
    
  2. docker image ls Kör kommandot för att kontrollera att avbildningen har taggats korrekt:

    docker image ls
    

    Nu bör du se utdata som ser ut ungefär så här:

    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
    
  3. Logga in på Azure Container Registry i kommandotolken. Använd kommandot docker login och ange inloggningsservern för registret som du antecknade tidigare. Ange användarnamnet och lösenordet från dina åtkomstnycklar när du uppmanas att göra det.

    docker login <login-server>
    

    Kommentar

    Du kan få ett felmeddelande från en daemon om att ditt program inte är registrerat med Microsoft Entra-ID. Som vi nämnde tidigare i den här övningen har du aktiverat administratörens användaråtkomstnyckel för att testa vår distribution.

  4. Ange följande kommando och ersätt <registry-name> med ditt eget registernamn för att ladda upp avbildningen till registret i Azure Container Registry:

    docker push <registry-name>.azurecr.io/reservationsystem:latest
    

    Vänta tills uppladdningen är klar. Den här processen tar flera minuter att skicka alla objekt i avbildningen till lagringsplatsen. Du kan se förloppet när varje objekt avancerar från Väntar till Förbereder till Push-överföring till Pushed.

Kontrollera innehållet i registret

Under resten av övningen går du tillbaka till Azure-portalen.

  1. Gå tillbaka till containerregistret i Azure-portalen.

  2. På resursmenyn går du till Tjänster och väljer Lagringsplatser. Fönstret Lagringsplatser för containerregistret visas.

  3. Kontrollera att lagringsplatsen reservationsystem visas. Välj lagringsplatsen reservationsystem och kontrollera att lagringsplatsen innehåller en avbildning med taggen senaste.

    Screenshot showing the repository and tagged reservation system container image in the registry.

Läsa in och köra en avbildning med Azure Container Instance

  1. I Azure-portalen väljer du Skapa en resurs. Fönstret Skapa en resurs visas.

  2. I resursmenyn väljer du Containrar och sedan Containerinstanser.

    Screenshot showing Container Instances.

    Fönstret Skapa containerinstans visas.

    Det finns flera steg för att konfigurera en containerinstans. Börja med att ange information om resursgruppen och containerinformationen. Konfigurera sedan containerns nätverksalternativ och starta om principen.

  3. På fliken Grundläggande anger du följande värden för varje inställning.

    Inställning Värde
    Projektinformation
    Prenumeration Välj din azure-standardprenumeration där du får skapa och hantera resurser
    Resursgrupp Återanvänd den befintliga resursgruppen learn-deploy-container-aci-rg
    Containerinformation
    Containerns namn hotelsysteminstance
    Region Använd standardplatsen
    Bildkälla Docker Hub eller annat register
    Bildtyp Privat
    Image <registry-name>.azurecr.io/reservationsystem:latest
    Inloggningsserver för avbildningsregistret Ange namnet på inloggningsservern för registret
    Avbildningens registreringsanvändarnamn Ange registrets användarnamn
    Lösenord för avbildningsregistret Ange registrets lösenord
    Typ av operativsystem Linux
    Storlek Lämna standardstorleken inställd på 1 vcpu, 1,5 GiB-minne, 0 gpu
  4. Välj Nästa: Nätverk.

  5. På fliken Nätverk anger du följande värden för varje inställning.

    Inställning Värde
    Nätverkstyp Publikt
    DNS-namnetikett Välj ett unikt namn som ska användas som en del av containerns URL.
    Portar
    Hamnar 80
    Portprotokoll TCP
  6. Välj Nästa: Avancerat.

  7. På fliken Avancerat anger du följande värden för varje inställning.

    Inställning Värde
    Omstartsprincip Alltid
    Miljövariabler lämna alla inställningar tomma
    Åsidosätta kommando lämna tomt
  8. Välj Granska + skapa. Vänta tills verifieringen har slutförts och korrigera eventuella fel om det behövs.

  9. Välj Skapa.

  10. När containerinstansen har skapats väljer du Gå till resurs. Containerinstansfönstret visas.

  11. Leta reda på containerinstansens fullständigt kvalificerade domännamn (FQDN) i fönstret Översikt .

    Screenshot that shows the New pane in Azure portal showing the Container properties with the FQDN highlighted.

  12. Med hjälp av en webbläsare går du till URL:en http://FQDN/api/reservations/1och ersätter FQDN med det fullständigt kvalificerade domännamnet för containerinstansen. Om du till exempel använder det synliga FQDN i skärmbilden ovan skulle det se ut så här:

    http://hotel.southcentralus.azurecontainer.io/api/reservations/1
    

    Webbappen bör svara med ett JSON-objekt som innehåller information för reservation 1.

Gratulerar! Du överförde Docker-avbildningen till Azure Container Registry och kör programmet med tjänsten Azure Container Instance.