Dela via


Snabbstart: Skapa ett privat containerregister med Azure PowerShell

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-containerregisterinstans med Azure PowerShell. Använd sedan Docker-kommandon för att skicka en containeravbildning till registret, och hämta och kör slutligen avbildningen från registret.

Förutsättningar

Kommentar

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. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att 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 avgöra installerad version. Om du behöver installera eller uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul).

Du måste också ha Docker installerat lokalt. Docker innehå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å Azure-prenumerationen med kommandot Connect-AzAccount och följ anvisningarna på skärmen.

Connect-AzAccount

Skapa resursgrupp

När du är autentiserad med Azure skapar du en resursgrupp med New-AzResourceGroup. En resursgrupp är en logisk container där du kan distribuera och hantera dina Azure-resurser.

New-AzResourceGroup -Name myResourceGroup -Location EastUS

Skapa containerregister

Skapa sedan ett containerregister i din nya resursgrupp 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 Basic

Dricks

I den här snabbstarten skapar du ett Basic-register , vilket är ett kostnadsoptimerad alternativ för utvecklare som lär sig mer om Azure Container Registry. 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 .

Kommentar

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.

Push-överför avbildningen till registret

Innan du kan push-överföra en avbildning till Azure Container Registry måste du 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 det fullständigt kvalificerade namnet på registerinloggningsservern. Inloggningsservernamnet är i formatet registry-name.azurecr.io> (måste vara alla gemener), till exempel mycontainerregistry.azurecr.io.<

Tagga avbildningen med hjälp av kommandot docker tag. Ersätt <login-server> med namnet på inloggningsservern för ACR-instansen.

docker tag mcr.microsoft.com/hello-world <login-server>/hello-world:v1

Exempel:

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

Slutligen använder du docker-push-överföring för att skicka avbildningen 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 push-överfört avbildningen till containerregistret tar du bort hello-world:v1-avbildningen från den lokala Docker-miljön. (Observera att detta docker rmi-kommando inte tar bort avbildningen från hello-world-lagringsplatsen i Azure-containerregistret.)

docker rmi <login-server>/hello-world:v1

Köra en avbildning från registret

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 har arbetat klart 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 de containeravbildningar som lagras där:

Remove-AzResourceGroup -Name myResourceGroup

Nästa steg

I den här snabbstarten skapade du ett Azure Container Registry med Azure PowerShell, push-överförde en containeravbildning och hämtade och körde avbildningen från registret. Fortsätt till självstudien om Azure Container Registry om du vill titta närmare på ACR.