Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Container Registry to prywatna usługa rejestru służąca do tworzenia, przechowywania obrazów kontenerów i powiązanych artefaktów oraz zarządzania nimi. W tym szybkim rozpoczęciu utworzysz instancję rejestru kontenerów Azure za pomocą Azure Portal. Następnie za pomocą poleceń platformy Docker wypchniesz obraz kontenera do rejestru, a na koniec ściągniesz i uruchomisz obraz z rejestru.
Aby zalogować się do rejestru i pracować z obrazami kontenerów, przewodnik Szybki start wymaga, abyś korzystał z interfejsu wiersza polecenia platformy Azure (zalecana jest wersja 2.0.55 lub nowsza). Uruchom polecenie az --version
, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Musisz również mieć lokalnie zainstalowanego Dockera z uruchomionym procesem. Środowisko Docker zawiera pakiety, które umożliwiają łatwe konfigurowanie platformy Docker w systemie Mac, Windows lub Linux.
Logowanie się do platformy Azure
Zaloguj się w witrynie Azure Portal.
Tworzenie rejestru kontenerów
Wybierz pozycję Utwórz zasób>Kontenery>Rejestr kontenerów.
Skonfiguruj nazwę rejestru kontenerów i SKU
Na karcie Podstawy wprowadź wartości w polach Grupa zasobów i Nazwa rejestru. Nazwa rejestru musi być unikatowa na platformie Azure i zawierać od 5 do 50 znaków alfanumerycznych z niedozwolonymi znakami kreski (-
) w nazwie rejestru. W tym szybkim rozpoczęciu utwórz nową grupę zasobów w lokalizacji West US 2
o nazwie myResourceGroup
, a dla SKU wybierz .
Aby uzyskać więcej informacji na temat różnych opcji SKU, zobacz Jednostki SKU usługi Azure Container Registry.
Konfiguracja opcji etykiety nazwy domeny (DNL)
Funkcja Etykieta nazwy domeny (DNL) zwiększa bezpieczeństwo, zapobiegając atakom przejęcia poddomeny nazw DNS rejestru. Te ataki występują, gdy rejestr jest usuwany, a inna jednostka ponownie używa tej samej nazwy rejestru, co potencjalnie powoduje, że odwołania podrzędne są pobierane z rejestru ponownie utworzonego przez inną jednostkę.
DNL rozwiązuje ten problem, dodając unikalny skrót do nazwy DNS rejestru. Gwarantuje to, że nawet jeśli ta sama nazwa rejestru zostanie ponownie użyta przez inną jednostkę, nazwy DNS będą się różnić ze względu na unikatowy skrót. Chroni to odwołania podrzędne od nieumyślnego wskazywania na rejestr utworzony ponownie przez inną jednostkę.
Podczas tworzenia rejestru w portalu wybierz zakres etykiety nazwy domeny z dostępnych opcji:
-
Niezabezpieczone: tworzy nazwę DNS as-is, na podstawie nazwy rejestru (np.
contosoacrregistry.azurecr.io
). Ta opcja nie obejmuje ochrony DNL. - Ponowne wykorzystanie dzierżawy: dołącza unikatowy hash na podstawie nazwy dzierżawy i rejestru, co zapewnia, że nazwa DNS jest jedyna w obrębie dzierżawy.
- Ponowne użycie subskrypcji: dołącza unikatowy skrót na podstawie subskrypcji, klienta i nazwy rejestru, zapewniając, że nazwa DNS jest unikatowa w ramach subskrypcji.
- Ponowne użycie grupy zasobów: dołącza unikatowy skrót na podstawie grupy zasobów, subskrypcji, dzierżawy i nazwy rejestru, zapewniając, że nazwa DNS jest unikatowa w grupie zasobów.
- Brak ponownego użycia: generuje unikatową nazwę DNS z unikatowym skrótem za każdym razem, gdy rejestr jest tworzony, niezależnie od innych czynników, zapewniając, że nazwa DNS jest zawsze unikatowa.
Uwaga / Notatka
Niezmienna konfiguracja: zakres DNL wybrany podczas tworzenia rejestru jest trwały i nie można go później modyfikować. Zapewnia to spójne zachowanie DNS i zapobiega zakłóceniom w odwołaniach podrzędnych.
Implikacje nazw DNS dotyczące opcji DNL
Format nazwy DNS: dla wszystkich opcji z włączoną obsługą DNL z wyjątkiem Niezabezpieczone, nazwa DNS jest zgodna z formatem registryname-hash.azurecr.io
, gdzie myślnik (-
) służy jako separator skrótu. Aby uniknąć konfliktów, kreska (-
) nie jest dozwolona w nazwie rejestru. Rejestr o nazwie contosoacrregistry
i zakresie Tenant Reuse
DNL będzie miał nazwę DNS, taką jak contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io
.
Odwołania podrzędne: Nazwa DNS może różnić się od nazwy rejestru, co wymaga aktualizacji w plikach podrzędnych, takich jak Dockerfiles, Kubernetes YAML i Helm, aby odzwierciedlić pełną nazwę DNS przy użyciu skrótu DNL. Przykładowo, jeśli chcesz, aby podrzędny plik Dockerfile odwoływał się do rejestru o nazwie contosoacrregistry
, który ma zakres Tenant Reuse
DNL, musisz zaktualizować odniesienie do contosoacrregistry-e7ggejfuhzhgedc8.azurecr.io
w swoim podrzędnym pliku Dockerfile.
Konfigurowanie trybu uprawnień przypisania roli
Skonfiguruj tryb "Tryb uprawnień przypisania roli" nowego rejestru. Ta opcja określa, w jaki sposób kontrola dostępu oparta na rolach firmy Microsoft (RBAC) i przypisania ról są zarządzane dla rejestru, w tym korzystanie z kontroli dostępu opartej na atrybutach firmy Microsoft (ABAC) dla uprawnień repozytorium Firmy Microsoft Entra.
Wybierz pozycję "Rejestr RBAC + warunki ABAC" w celu zachowania standardowych przypisań ról RBAC firmy Microsoft, opcjonalnie stosując warunki ABAC firmy Microsoft dla precyzyjnej kontroli dostępu na poziomie repozytorium.
Aby uzyskać więcej informacji na temat tej opcji, zobacz Kontrola dostępu oparta na atrybutach (ABAC) firmy Microsoft Entra dotycząca uprawnień do repozytorium.
Wdrażanie rejestru kontenerów
Zaakceptuj wartości domyślne pozostałych ustawień. Następnie wybierz Przejrzyj i utwórz. Po przejrzeniu ustawień wybierz pozycję Utwórz.
Napiwek
W tym przewodniku szybkiego startu tworzysz rejestr w poziomie standardowym, który jest wystarczający dla większości przepływów pracy usługi Azure Container Registry. Wybierz inne poziomy, aby zwiększyć przepustowość pamięci masowej i obrazów oraz funkcje, takie jak połączenie za pomocą prywatnego punktu końcowego. Aby uzyskać szczegółowe informacje na temat dostępnych warstw usług (SKU), zobacz Warstwy usług rejestru kontenerów.
Kiedy pojawi się komunikat Wdrażanie zakończyło się pomyślnie, wybierz rejestr kontenerów w portalu.
Zanotuj nazwę rejestru i wartość serwera logowania, która jest w pełni kwalifikowaną nazwą kończącą się azurecr.io
w chmurze platformy Azure. W przypadku wybrania opcji DNL nazwa serwera logowania będzie zawierać unikatowy skrót.
Użyj serwera logowania w poniższych krokach podczas wypychania i ściągania obrazów za pomocą platformy Docker, a także w odwołaniach podrzędnych, takich jak Dockerfiles, Kubernetes YAML i Helm charts.
Logowanie do rejestru
Przed wysyłaniem i pobieraniem obrazów kontenerów należy zalogować się do wystąpienia rejestru. Zaloguj się do interfejsu wiersza polecenia platformy Azure na komputerze lokalnym, a następnie uruchom polecenie az acr login .
Określ tylko nazwę zasobu rejestru podczas logowania się przy użyciu interfejsu wiersza polecenia platformy Azure, na przykład az acr login -n registryname
. Nie używaj w pełni kwalifikowanej nazwy serwera logowania, takiej jak registryname.azurecr.io
lub registryname-hash.azurecr.io
(w przypadku rejestrów z obsługą dnL).
az acr login --name <registry-name>
Przykład:
az acr login --name contosoacrregistry
Po ukończeniu polecenie zwraca ciąg Login Succeeded
.
Prześlij obraz do rejestru
Aby wypchnąć obraz do usługi Azure Container Registry, najpierw musisz mieć obraz. Jeśli nie masz jeszcze żadnych lokalnych obrazów kontenerów, uruchom następujące polecenie docker pull, aby pobrać istniejący publiczny obraz. W tym przykładzie skorzystaj z obrazu z Microsoft Container Registry.
docker pull mcr.microsoft.com/hello-world
Aby można było wypchnąć obraz do rejestru, należy otagować go przy użyciu docker tag z w pełni kwalifikowaną nazwą serwera logowania rejestru.
- Format nazwy serwera logowania dla rejestrów chronionych etykietą nazwy domeny (DNL) z dołączonym unikatowym skrótem nazwy DNS jest
mycontainerregistry-abc123.azurecr.io
. - Format nazwy serwera logowania dla rejestrów utworzonych przy użyciu
Unsecure
opcji DNL tomycontainerregistry.azurecr.io
.
Na przykład, jeśli rejestr został utworzony z zakresem Tenant Reuse
DNL, serwer logowania może przypominać mycontainerregistry-abc123.azurecr.io
ze skrótem w nazwie DNS. Jeśli rejestr został utworzony za pomocą opcji DNL Unsecure
, serwer logowania będzie wyglądał inaczej bez skrótu mycontainerregistry.azurecr.io
.
Aby uzyskać więcej informacji na temat opcji DNL podczas tworzenia rejestru i implikacji nazw DNS, zobacz Szybki start — tworzenie rejestru w portalu.
Przykład: tagowanie obrazu przed wypchnięciem
Oznacz obraz za pomocą polecenia docker tag przy użyciu serwera logowania rejestru.
Tagowanie obrazu dla rejestru innego niż DNL:
docker tag mcr.microsoft.com/hello-world mycontainerregistry.azurecr.io/hello-world:v1
Tagowanie obrazu dla rejestru z włączoną obsługą DNL:
docker tag mcr.microsoft.com/hello-world mycontainerregistry-abc123.azurecr.io/hello-world:v1
Na koniec użyj polecenia docker push, aby przesłać obraz do instancji rejestru. Zastąp <login-server>
nazwą serwera logowania dla instancji rejestru. W tym przykładzie jest tworzone repozytorium hello-world zawierające obraz hello-world:v1
.
docker push <login-server>/hello-world:v1
Po wypchnięciu obrazu do rejestru kontenerów usuń obraz hello-world:v1
ze środowiska lokalnego platformy Docker. (Pamiętaj, że to polecenie docker rmi nie powoduje usunięcia obrazu z repozytorium hello-world w rejestrze kontenerów platformy Azure).
docker rmi <login-server>/hello-world:v1
Tworzenie listy obrazów kontenerów
Aby wyświetlić listę obrazów w rejestrze, przejdź do rejestru w portalu i wybierz pozycję Repozytoria, a następnie wybierz repozytorium hello-world utworzone za pomocą docker push
.
Po wybraniu repozytorium hello-world zobaczysz obraz z tagiem v1
w obszarze Tagi.
Uruchamianie obrazu z rejestru
Teraz można ściągnąć i uruchomić obraz kontenera hello-world:v1
z rejestru kontenerów za pomocą polecenia docker run:
docker run <login-server>/hello-world:v1
Przykładowe wyjście:
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.
[...]
Czyszczenie zasobów
Aby wyczyścić zasoby, przejdź do grupy zasobów myResourceGroup w portalu. Po załadowaniu grupy zasobów kliknij pozycję Usuń grupę zasobów, aby usunąć grupę zasobów, rejestr kontenerów i przechowywane tam obrazy kontenerów.
Następne kroki
W tym przewodniku szybkiego startu utworzono rejestr kontenerów Azure w portalu Azure, przesłano obraz kontenera oraz pobrano i uruchomiono obraz z rejestru. Przejdź do samouczków usługi Azure Container Registry, aby dowiedzieć się więcej o tej usłudze.