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.