Övning: Skapa och köra en containeravbildning med hjälp av Azure Container Registry Tasks
I den här övningen använder du ACR Tasks för att utföra följande åtgärder:
- Skapa ett Azure Container Registry (ACR)
- 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
Logga in på Azure Portal och öppna Cloud Shell.
När gränssnittet öppnas väljer du Bash-miljön.
Skapa ett Azure Container Registry
Skapa en resursgrupp för registret. Ersätt
<myLocation>
i följande kommando med en plats nära dig.az group create --name az204-acr-rg --location <myLocation>
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.
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
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 bildensample/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
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
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
Kör containeravbildningen
sample/hello-world:v1
från containerregistret med hjälpaz 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, mencmd
stöder andradocker run
parametrar eller till och med andradocker
kommandon.Följande exempelutdata förkortas:
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