Push-överför din första avbildning till Ditt Azure-containerregister 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, pull och andra containeravbildningsåtgärder 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 CLI eller 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 komma åt ett register med namnet myregistryloggar 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 automatiseringsscenario. 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ägget för snabbare och enklare inloggning.

Tips

Ange alltid det fullständigt kvalificerade registernamnet (med gemener) när du använder docker login och när du taggar avbildningar för push-överföring 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. I det här exemplet hämtas den officiella Nginx-avbildningen.

docker pull nginx

Kör containern lokalt

Kör följande docker-körningskommando 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 nginx

Bläddra till http://localhost:8080 för att visa standardwebbsidan som hanteras 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 -itkan du se Nginx-serverns utdata på kommandoraden när du har navigerat till den i webbläsaren.

Om du vill stoppa och ta bort containern trycker du på Control+C.

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 nginx myregistry.azurecr.io/samples/nginx

Mer information om taggning med namnområden finns i avsnittet Lagringsplatsnamnområden i Metodtips för 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 hämtat 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.

Om du vill stoppa och ta bort containern trycker du på Control+C.

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 manifestet som refereras av taggen samples/nginx:latest , alla unika lagerdata och alla andra taggar som refererar till manifestet.

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

Rekommendationer

Här hittar du mer information om autentiseringsalternativen.

Nästa steg

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

Du kan också installera Docker-tillägget för Visual Studio Code och Azure-kontotillägget för att arbeta med dina Azure-containerregister. Hämta och push-överföra avbildningar till ett Azure-containerregister eller kör ACR Tasks i Visual Studio Code.