Övning: Skapa och köra en containeravbildning med hjälp av Azure Container Registry Tasks

Slutförd

I den här övningen använder du ACR Tasks för att utföra följande åtgärder:

  • Skapa ett Azure Container Registry
  • Skapa och push-överföra avbildning från en Dockerfile
  • Verifiera resultatet
  • Kör avbildningen i ACR

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration. Om du inte redan har en sådan kan du registrera dig för en kostnadsfri utvärderingsversion på https://azure.com/free

Logga in på Azure och starta Cloud Shell

  1. Logga in på Azure-portalen och öppna Cloud Shell.

    The location of Cloud Shell launch button.

  2. När gränssnittet öppnas väljer du Bash-miljön.

    Selecting the Bash environment.

Skapa ett Azure Container Registry

  1. Skapa en resursgrupp för registret och ersätt <myLocation> i följande kommando med en plats nära dig.

    az group create --name az204-acr-rg --location <myLocation>
    
  2. Skapa ett grundläggande containerregister. Registernamnet måste vara unikt i Azure och innehålla 5–50 alfanumeriska tecken. Ersätt <myContainerRegistry> i följande kommando med ett unikt värde.

    az acr create --resource-group az204-acr-rg \
        --name <myContainerRegistry> --sku Basic
    

    Kommentar

    Kommandot skapar ett Basic-register , ett kostnadsoptimerad alternativ för utvecklare som lär sig mer om Azure Container Registry.

Skapa och push-överföra avbildning från en Dockerfile

Använd nu Azure Container Registry för att skapa och push-överföra en avbildning baserat på en lokal Dockerfile.

  1. Skapa eller navigera till en lokal katalog och använd sedan följande kommando för att skapa Dockerfile. Dockerfile innehåller en enda rad som refererar till avbildningen hello-world som finns i Microsoft Container Registry.

    echo FROM mcr.microsoft.com/hello-world > Dockerfile
    
  2. az acr build Kör kommandot som skapar avbildningen och skickar den till registret när avbildningen har skapats. Ersätt <myContainerRegistry> med det namn som du använde tidigare.

    az acr build --image sample/hello-world:v1  \
        --registry <myContainerRegistry> \
        --file Dockerfile .
    

    Följande är ett förkortat exempel på utdata från föregående kommando som visar de sista raderna med de slutliga resultaten. Du kan se i fältet repository som bilden sample/hello-word visas.

    - image:
        registry: <myContainerRegistry>.azurecr.io
        repository: sample/hello-world
        tag: v1
        digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a
      runtime-dependency:
        registry: mcr.microsoft.com
        repository: hello-world
        tag: latest
        digest: sha256:92c7f9c92844bbbb5d0a101b22f7c2a7949e40f8ea90c8b3bc396879d95e899a
      git: {}
    
    
    Run ID: cf1 was successful after 11s
    

Verifiera resultatet

  1. az acr repository list Använd kommandot för att lista lagringsplatserna i registret. Ersätt <myContainerRegistry> med det namn som du använde tidigare.

    az acr repository list --name <myContainerRegistry> --output table
    

    Utdata:

    Result
    ----------------
    sample/hello-world
    
  2. az acr repository show-tags Använd kommandot för att visa taggarna på lagringsplatsen sample/hello-world. Ersätt <myContainerRegistry> med det namn som du använde tidigare.

    az acr repository show-tags --name <myContainerRegistry> \
        --repository sample/hello-world --output table
    

    Utdata:

    Result
    --------
    v1
    

Kör avbildningen i ACR

  1. Kör containeravbildningen sample/hello-world:v1 från containerregistret med hjälp az acr run av kommandot . I följande exempel används $Registry för att ange registret där du kör kommandot. Ersätt <myContainerRegistry> med det namn som du använde tidigare.

    az acr run --registry <myContainerRegistry> \
        --cmd '$Registry/sample/hello-world:v1' /dev/null
    

    Parametern cmd i det här exemplet kör containern i sin standardkonfiguration, men cmd stöder andra docker run parametrar eller till och med andra docker kommandon.

    Följande är ett förkortat urval av utdata:

    Packing source code into tar to upload...
    Uploading archived source code from '/tmp/run_archive_ebf74da7fcb04683867b129e2ccad5e1.tar.gz'...
    Sending context (1.855 KiB) to registry: mycontainerre...
    Queued a run with ID: cab
    Waiting for an agent...
    2019/03/19 19:01:53 Using acb_vol_60e9a538-b466-475f-9565-80c5b93eaa15 as the home volume
    2019/03/19 19:01:53 Creating Docker network: acb_default_network, driver: 'bridge'
    2019/03/19 19:01:53 Successfully set up Docker network: acb_default_network
    2019/03/19 19:01:53 Setting up Docker configuration...
    2019/03/19 19:01:54 Successfully set up Docker configuration
    2019/03/19 19:01:54 Logging in to registry: mycontainerregistry008.azurecr.io
    2019/03/19 19:01:55 Successfully logged into mycontainerregistry008.azurecr.io
    2019/03/19 19:01:55 Executing step ID: acb_step_0. Working directory: '', Network: 'acb_default_network'
    2019/03/19 19:01:55 Launching container with name: acb_step_0
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    2019/03/19 19:01:56 Successfully executed container: acb_step_0
    2019/03/19 19:01:56 Step ID: acb_step_0 marked as successful (elapsed time in seconds: 0.843801)
    
    Run ID: cab was successful after 6s
    

Rensa resurser

När det inte längre behövs kan du använda az group delete kommandot för att ta bort resursgruppen, containerregistret och containeravbildningarna som lagras där.

az group delete --name az204-acr-rg --no-wait