Push-skicka din första avbildning till Azure-containerregistret med hjälp av Docker CLI

Ett Azure-containerregister lagrar och hanterar privata containeravbildningar och andra artefakter på samma sätt som Docker Hub lagrar offentliga Docker-containeravbildningar. Du kan använda Docker-kommandoradsgränssnittet (Docker CLI) för inloggning, push, pulloch andra åtgärder för containeravbildning i containerregistret.

I följande steg laddar du ned en offentlig Nginx-avbildning,taggar den för ditt privata Azure-containerregister, push-överför den till registret och hämtar den sedan från registret.

Förutsättningar

  • Azure-containerregister – Skapa ett containerregister i din Azure-prenumeration. Använd till exempel Azure Portal, Azure CLIeller Azure PowerShell.
  • Docker CLI – Du måste också ha Docker installerat lokalt. Docker innehåller paket som enkelt kan konfigurera Docker på ett macOS-, Windows- eller Linux-system.

Logga in i ett register

Det finns flera sätt att autentisera till ditt privata containerregister.

Den rekommenderade metoden när du arbetar på en kommandorad är med Azure CLI-kommandot az acr login. Om du till exempel vill logga in i ett register med namnet myregistry loggar du in på Azure CLI och autentiserar sedan till registret:

az login
az acr login --name myregistry

Du kan också logga in med Docker-inloggning. Du kan till exempel ha tilldelat ett huvudnamn för tjänsten till registret för ett automationsscenario. När du kör följande kommando anger du appID (användarnamn) och lösenord för tjänstens huvudnamn interaktivt när du uppmanas att göra det. Metodtips för att hantera inloggningsuppgifter finns i kommandoreferensen för docker-inloggning:

docker login myregistry.azurecr.io

Båda kommandona returneras Login Succeeded när de har slutförts.

Anteckning

  • Du kanske vill använda Visual Studio Code med Docker-tillägg för en snabbare och enklare inloggning.

Tips

Ange alltid det fullständigt kvalificerade registernamnet (endast gemener) när du använder och när du taggar avbildningar docker login för push-push till registret. I exemplen i den här artikeln är det fullständigt kvalificerade namnet myregistry.azurecr.io.

Hämta en offentlig Nginx-avbildning

Hämta först en offentlig Nginx-avbildning till den lokala datorn. Det här exemplet hämtar en avbildning från Microsoft Container Registry.

docker pull mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine

Kör containern lokalt

Kör följande docker run-kommando för att starta en lokal instans av Nginx-containern interaktivt ( -it ) på port 8080. Argumentet --rm anger att containern ska tas bort när du stoppar den.

docker run -it --rm -p 8080:80 mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine

Bläddra till http://localhost:8080 för att visa standardwebbsidan som betjänas av Nginx i containern som körs. Du bör se en sida som liknar följande:

Nginx på lokal dator

Eftersom du startade containern interaktivt med kan du se Nginx-serverns utdata på kommandoraden när du har navigerat -it till den i webbläsaren.

Tryck på för att stoppa och ta bort Control + C containern.

Skapa ett alias för avbildningen

Använd docker-taggen för att skapa ett alias för avbildningen med den fullständigt kvalificerade sökvägen till registret. I det här exemplet anges samples-namnområdet för att undvika oreda i registrets rot.

docker tag mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine myregistry.azurecr.io/samples/nginx

Mer information om taggning med namnområden finns i avsnittet Namnområden för lagringsplats i Best practices for Azure Container Registry.

Skicka avbildningen till registret

Nu när du har taggat avbildningen med den fullständigt kvalificerade sökvägen till ditt privata register kan du skicka den till registret med docker push:

docker push myregistry.azurecr.io/samples/nginx

Hämta avbildningen från registret

Använd kommandot docker pull för att hämta avbildningen från registret:

docker pull myregistry.azurecr.io/samples/nginx

Starta Nginx-containern

Använd kommandot docker run för att köra avbildningen som du har tagit från registret:

docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx

Bläddra till http://localhost:8080 för att visa containern som körs.

Tryck på för att stoppa och ta bort Control + C containern.

Ta bort avbildningen (valfritt)

Om du inte längre behöver Nginx-avbildningen kan du ta bort den lokalt med kommandot docker rmi.

docker rmi myregistry.azurecr.io/samples/nginx

Om du vill ta bort avbildningar från Azure-containerregistret kan du använda Azure CLI-kommandot az acr repository delete. Följande kommando tar till exempel bort det manifest som taggen refererar till, alla unika lagerdata och alla andra taggar samples/nginx:latest som refererar till manifestet.

az acr repository delete --name myregistry --image samples/nginx:latest

Nästa steg

Nu när du känner till grunderna är du redo att börja använda registret! Distribuera till exempel containeravbildningar från registret till:

Du kan också installera Docker-tillägget för Visual Studio Code och Azure-kontotillägget för att fungera med dina Azure-containerregister. Hämta och push-skicka avbildningar till ett Azure-containerregister eller kör ACR-uppgifter allt inom Visual Studio Code.