Oefening: Een containerinstallatiekopieën bouwen en uitvoeren met behulp van Azure Container Registry Tasks

Voltooid

In deze oefening gebruikt u ACR Tasks om de volgende acties uit te voeren:

  • Een Azure Container Registry maken
  • Een installatiekopie bouwen en pushen vanaf een Dockerfile
  • De resultaten controleren
  • De installatiekopieën uitvoeren in de ACR

Vereisten

  • Een Azure-account met een actief abonnement. Als u nog geen abonnement hebt, kunt u zich registreren voor een gratis proefversie op https://azure.com/free

Meld u aan bij Azure en start Cloud Shell

  1. Meld u aan bij Azure Portal en open Cloud Shell.

    The location of Cloud Shell launch button.

  2. Wanneer de shell wordt geopend, selecteert u de Bash-omgeving .

    Selecting the Bash environment.

Een Azure Container Registry maken

  1. Maak een resourcegroep voor het register en vervang <myLocation> deze in de volgende opdracht door een locatie bij u in de buurt.

    az group create --name az204-acr-rg --location <myLocation>
    
  2. Maak een basiscontainerregister. De registernaam moet uniek zijn binnen Azure en mag 5 tot 50 alfanumerieke tekens bevatten. Vervang <myContainerRegistry> in de volgende opdracht door een unieke waarde.

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

    Notitie

    Met de opdracht maakt u een basisregister , een optie die is geoptimaliseerd voor kosten voor ontwikkelaars die meer te weten komen over Azure Container Registry.

Een installatiekopie bouwen en pushen vanaf een Dockerfile

Gebruik nu Azure Container Registry om een installatiekopieën te bouwen en te pushen op basis van een lokaal Dockerfile.

  1. Maak of navigeer naar een lokale map en gebruik vervolgens de volgende opdracht om het Dockerfile te maken. Het Dockerfile bevat één regel die verwijst naar de hello-world installatiekopie die wordt gehost in het Microsoft Container Registry.

    echo FROM mcr.microsoft.com/hello-world > Dockerfile
    
  2. Voer de az acr build opdracht uit, waarmee de installatiekopie wordt gemaakt en nadat de installatiekopie is gemaakt, deze naar het register pusht. Vervang <myContainerRegistry> door de naam die u eerder hebt gebruikt.

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

    Hieronder volgt een ingekort voorbeeld van de uitvoer van de vorige opdracht met de laatste regels met de uiteindelijke resultaten. U kunt in het repository veld zien dat de sample/hello-word afbeelding wordt weergegeven.

    - 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
    

De resultaten controleren

  1. Gebruik de az acr repository list opdracht om de opslagplaatsen in uw register weer te geven. Vervang <myContainerRegistry> door de naam die u eerder hebt gebruikt.

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

    Uitvoer:

    Result
    ----------------
    sample/hello-world
    
  2. Gebruik de az acr repository show-tags opdracht om de tags in de voorbeeld-/hello-world-opslagplaats weer te geven. Vervang <myContainerRegistry> door de naam die u eerder hebt gebruikt.

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

    Uitvoer:

    Result
    --------
    v1
    

De installatiekopieën uitvoeren in de ACR

  1. Voer de voorbeeld-/hello-world:v1-containerinstallatiekopie uit vanuit uw containerregister met behulp van de az acr run opdracht. In het volgende voorbeeld wordt het $Registry register opgegeven waar u de opdracht uitvoert. Vervang <myContainerRegistry> door de naam die u eerder hebt gebruikt.

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

    De cmd parameter in dit voorbeeld voert de container uit in de standaardconfiguratie, maar cmd ondersteunt andere docker run parameters of zelfs andere docker opdrachten.

    Hier volgt een verkort voorbeeld van de uitvoer:

    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
    

Resources opschonen

Wanneer u deze niet meer nodig hebt, kunt u de az group delete opdracht gebruiken om de resourcegroep, het containerregister en de containerinstallatiekopieën die daar zijn opgeslagen, te verwijderen.

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