Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Container Registry är en privat registertjänst för att skapa, lagra och hantera containeravbildningar och relaterade artefakter. I den här snabbstarten skapar du en Azure Container Registry-instans med hjälp av Azure PowerShell lokalt. Med Docker CLI hämtar du sedan en hello-world-containeravbildning, taggar containeravbildningen hello-world för att skapa en ny containeravbildning, push-överför den nya containeravbildningen till containerregistret, tar bort den lokala containeravbildningen och hämtar och kör slutligen avbildningen från registret.
Förutsättningar
Anmärkning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. För att lära dig hur du migrerar till Az PowerShell-modulen, se Migrera Azure PowerShell från AzureRM till Az.
Den här snabbstarten kräver Azure PowerShell-modulen. Kör Get-Module -ListAvailable Az för att fastställa den installerade versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure PowerShell-modulen.
Du måste också ha Docker installerat lokalt. Docker tillhandahåller paket för macOS-, Windows- och Linux-system .
Eftersom Azure Cloud Shell inte innehåller alla nödvändiga Docker-komponenter (dockerd-daemon), kan du inte använda Cloud Shell för denna snabbstart.
Logga in på Azure
Logga in på din Azure-prenumeration med kommandot Connect-AzAccount och följ anvisningarna på skärmen.
Connect-AzAccount
Skapa resursgrupp
När du har autentiserats med Azure skapar du en resursgrupp med New-AzResourceGroup. En resursgrupp är en logisk container där du distribuerar och hanterar dina Azure-resurser.
New-AzResourceGroup -Name myResourceGroup -Location EastUS
Skapa containerregister
Skapa sedan ett containerregister i den nya resursgruppen med kommandot New-AzContainerRegistry .
Registernamnet måste vara unikt i Azure och innehålla 5–50 alfanumeriska tecken. I följande exempel skapas ett register med namnet "mycontainerregistry". Ersätt mycontainerregistry i följande kommando och kör det sedan för att skapa registret:
$registry = New-AzContainerRegistry -ResourceGroupName "myResourceGroup" -Name "mycontainerregistry" -EnableAdminUser -Sku Standard -Location EastUS
Tips/Råd
I den här snabbstarten skapar du ett Standard-register , vilket räcker för de flesta Azure Container Registry-arbetsflöden. Välj andra nivåer för ökat lagrings- och bilddataflöde och funktioner som anslutning med hjälp av en privat slutpunkt. Mer information om tillgängliga tjänstnivåer (SKU:er) finns i Tjänstnivåer för containerregister.
Logga in till registret
Innan du skickar och hämtar containeravbildningar måste du logga in i registret med cmdleten Connect-AzContainerRegistry . I följande exempel används samma autentiseringsuppgifter som du loggade in med när du autentiserade till Azure med cmdleten Connect-AzAccount .
Anmärkning
I följande exempel är värdet $registry.Name för resursnamnet, inte det fullständigt kvalificerade registernamnet.
Connect-AzContainerRegistry -Name $registry.Name
Kommandot returnerar Login Succeeded när det har slutförts.
Ladda upp avbildningen till registret
Om du vill skicka en avbildning till ett Azure Container-register måste du först ha en avbildning. Om du ännu inte har några lokala containeravbildningar kör du följande docker pull-kommando för att hämta en befintlig offentlig avbildning. I det här exemplet hämtar du avbildningen hello-world från Microsoft Container Registry.
docker pull mcr.microsoft.com/hello-world
Innan du kan skicka en avbildning till registret måste du tagga den med hjälp av docker-taggen med det fullständigt kvalificerade namnet på registerinloggningsservern.
- Inloggningsserverns namnformat för domännamnsetiketter (DNL) skyddade register med en unik DNS-namnhash som ingår är
mycontainerregistry-abc123.azurecr.io. - Namnformatet för inloggningsservern för register som skapats med
UnsecureDNL-alternativet ärmycontainerregistry.azurecr.io.
Om ditt register till exempel har skapats med Tenant Reuse DNL-omfånget kan inloggningsservern se ut som mycontainerregistry-abc123.azurecr.io med en hash i DNS-namnet. Om registret skapades med Unsecure DNL-alternativet skulle inloggningsservern se ut som mycontainerregistry.azurecr.io utan hashen.
Mer information om DNL-alternativ när registret skapas och DNS-namnkonsekvenser finns i Snabbstart – Skapa register i portalen.
Exempel: Tagga en bild före push-överföring
Tagga avbildningen med hjälp av docker-taggkommandot med hjälp av registrets inloggningsserver.
Taggningsbild för ett icke-DNL-register:
docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1
Taggningsbild för ett DNL-aktiverat register:
docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.azurecr.io/hello-world:v1
Slutligen använder du docker push för att pusha bilden till registerinstansen. Ersätt <login-server> med inloggningsservernamnet för registerinstansen. Det här exemplet skapar lagringsplatsen hello-world, som innehåller hello-world:v1-avbildningen.
docker push <login-server>/hello-world:v1
När du har skickat bilden till containerregistret tar du bort hello-world:v1 bilden från din lokala Docker-miljö. (Observera att det här docker rmi-kommandot inte tar bort avbildningen från hello-world-lagringsplatsen i Azure-containerregistret .)
docker rmi <login-server>/hello-world:v1
Kör en avbild från ett register
Nu kan du hämta och köra hello-world:v1-containeravbildningen från containerregistret med hjälp av docker run:
docker run <login-server>/hello-world:v1
Exempel på utdata:
Unable to find image 'mycontainerregistry.azurecr.io/hello-world:v1' locally
v1: Pulling from hello-world
Digest: sha256:662dd8e65ef7ccf13f417962c2f77567d3b132f12c95909de6c85ac3c326a345
Status: Downloaded newer image for mycontainerregistry.azurecr.io/hello-world:v1
Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]
Rensa resurser
När du är klar med de resurser som du skapade i den här snabbstarten använder du kommandot Remove-AzResourceGroup för att ta bort resursgruppen, containerregistret och containeravbildningarna som lagras där:
Remove-AzResourceGroup -Name myResourceGroup
Nästa steg
I den här snabbstarten skapade du en Azure Container Registry-instans med hjälp av Azure PowerShell lokalt, hämtade en hello-world-containeravbildning, taggade hello-world-avbildningen för att skapa en ny containeravbildning, push-överförde den nya containeravbildningen till containerregistret, tog bort den lokala containeravbildningen och hämtade och körde slutligen avbildningen från registret. Fortsätt till självstudien om Azure Container Registry om du vill titta närmare på ACR.