Granska registeråtgärder för avbildningshantering

Slutförd

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.

Innan du börjar hantera avbildningar i ett containerregister konfigurerar du följande resurser:

  • Azure-containerregister: Skapa ett containerregister i din Azure-prenumeration. Du kan till exempel använda Azure-portalen, Azure CLI eller Azure PowerShell.
  • Azure CLI: Du bör ha Azure CLI installerat lokalt. Azure CLI kan förenkla repetitiva uppgifter.
  • Docker CLI: Du bör ha Docker Desktop installerat lokalt. Med Docker Desktop kan du skapa och push-överföra avbildningar baserat på en kodlagringsplats. Docker tillhandahåller paket som enkelt konfigurerar Docker på alla macOS-, Windows- eller Linux-system.

Logga in i registret med hjälp av Azure CLI

Du måste logga in i registret innan du skickar och hämtar containeravbildningar. Du kan logga in med hjälp av ett Azure CLI-kommando.

Azure CLI är tillgängligt för installation i Windows-, macOS- och Linux-miljöer. Den kan också köras i en Docker-container och Azure Cloud Shell. Den aktuella versionen av Azure CLI är 2.53.0. Om du vill hitta den installerade versionen och se om du behöver uppdatera kör du kommandot az version.

Logga in på Azure med kommandot az login. Använd Den Azure-prenumeration som är associerad med ditt containerprojekt.

Logga in i registret med hjälp av kommandot az acr login. Ange endast namnet på registerresursen när du loggar in med Azure CLI. Använd inte det fullständigt kvalificerade inloggningsservernamnet. Använd till exempel följande kommando för att logga in på ett register med namnet mycontainerregistryapl2003.

az acr login --name mycontainerregistryapl2003

Kommandot returnerar meddelandet "Inloggningen lyckades" när den har slutförts.

Skicka avbildning till registret

Om du vill skicka en avbildning till ett Azure Container-register måste du först ha en avbildning. Om du inte har några lokala containeravbildningar använder du ett docker pull kommando för att hämta en befintlig offentlig avbildning.

I följande exempel hämtas hello-world-avbildningen från ett offentligt Microsoft Container Registry till din lokala dator:

docker pull mcr.microsoft.com/hello-world

Innan du kan skicka en avbildning till registret måste du tagga den med det fullständigt kvalificerade namnet på registerinloggningsservern. Inloggningsserverns namn är i formatet <registry-name>.azurecr.io (måste vara alla gemener), till exempel mycontainerregistryapl2003.azurecr.io.

Du kan tagga avbildningen med hjälp av kommandot docker tag enligt följande:

docker tag mcr.microsoft.com/hello-world mycontainerregistryapl2003.azurecr.io/hello-world:v1

I det här exemplet skapas taggmålbilden (mycontainerregistryapl2003.azurecr.io/hello-world:v1) som refererar till källbilden (mcr.microsoft.com/hello-world).

Använd slutligen kommandot docker push för att skicka den lokala avbildningen till registerinstansen. I följande exempel skapas lagringsplatsen hello-world som innehåller hello-world:v1 avbildningen.

docker push mycontainerregistryapl2003.azurecr.io/hello-world:v1

När du har skickat bilden till containerregistret tar du bort hello-world:v1 bilden från din lokala Docker-miljö. Kommandot docker rmi tar inte bort avbildningen från hello-world-lagringsplatsen i azure-containerregistret.

docker rmi mycontainerregistryapl2003.azurecr.io/hello-world:v1

I Azure-portalen öppnar du containerregistret för att visa den push-överförda avbildningen och väljer sedan Lagringsplatser.

Skärmbild som visar sidan Lagringsplatser i Container Registry-instansen.

Hämta och ta bort registerbild

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

docker pull mycontainerregistryapl2003.azurecr.io/hello-world:v1

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 hello-world:v1, alla unika lagerdata och alla andra taggar som refererar till manifestet.

az acr repository delete --name mycontainerregistryapl2003 --image hello-world:v1