Wypychanie pierwszego obrazu do rejestru kontenerów platformy Azure przy użyciu interfejsu wiersza polecenia platformy Docker
Rejestr kontenerów platformy Azure przechowuje obrazy kontenerów prywatnych i inne artefakty oraz zarządza nimi, podobnie jak w przypadku przechowywania publicznych obrazów kontenerów platformy Docker w usłudze Docker Hub . Interfejs wiersza polecenia platformy Docker (interfejs wiersza polecenia platformy Docker) umożliwia logowanie, wypychanie, ściąganie i inne operacje na obrazie kontenera w rejestrze kontenerów.
W poniższych krokach pobierzesz publiczny obraz Nginx, oznaczysz go jako prywatny rejestr kontenerów platformy Azure, wypchniesz go do rejestru, a następnie ściągniesz go z rejestru.
Wymagania wstępne
- Usługa Azure Container Registry — Tworzy rejestr kontenera w subskrypcji platformy Azure. Na przykład użyj witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
- Interfejs wiersza polecenia platformy Docker — musisz mieć również zainstalowaną lokalnie platformę Docker. Środowisko Docker zawiera pakiety, które umożliwiają łatwe konfigurowanie platformy Docker w systemie macOS, Windows lub Linux.
Zaloguj się do rejestru
Istnieje kilka sposobów uwierzytelniania w prywatnym rejestrze kontenerów.
Zalecaną metodą podczas pracy w wierszu polecenia jest polecenie interfejsu wiersza polecenia platformy Azure az acr login. Aby na przykład uzyskać dostęp do rejestru o nazwie myregistry
, zaloguj się do interfejsu wiersza polecenia platformy Azure, a następnie uwierzytelnij się w rejestrze:
az login
az acr login --name myregistry
Możesz również zalogować się przy użyciu identyfikatora logowania platformy Docker. Możesz na przykład przypisać jednostkę usługi do rejestru w scenariuszu automatyzacji. Po uruchomieniu następującego polecenia interaktywnie podaj identyfikator appID (nazwa użytkownika) i hasło jednostki usługi po wyświetleniu monitu. Aby uzyskać najlepsze rozwiązania dotyczące zarządzania poświadczeniami logowania, zobacz dokumentację poleceń logowania platformy Docker:
docker login myregistry.azurecr.io
Oba polecenia są zwracane Login Succeeded
po zakończeniu.
Uwaga
- Możesz chcieć użyć programu Visual Studio Code z rozszerzeniem platformy Docker w celu szybszego i wygodniejszego logowania.
Napiwek
Zawsze należy określić w pełni kwalifikowaną nazwę rejestru (wszystkie małe litery) podczas używania docker login
i tagowania obrazów do wypychania do rejestru. W przykładach w tym artykule w pełni kwalifikowana nazwa jest myregistry.azurecr.io.
Ściąganie publicznego obrazu Nginx
Najpierw należy ściągnąć publiczny obraz Nginx na komputer lokalny. Ten przykład ściąga oficjalny obraz Nginx.
docker pull nginx
Uruchamianie kontenera w środowisku lokalnym
Wykonaj następujące polecenie docker run , aby uruchomić lokalne wystąpienie kontenera Nginx interaktywnie (-it
) na porcie 8080. Argument --rm
określa, że kontener powinien zostać usunięty po jego zatrzymaniu.
docker run -it --rm -p 8080:80 nginx
Przejdź do, aby wyświetlić http://localhost:8080
domyślną stronę internetową obsługiwaną przez serwer Nginx w uruchomionym kontenerze. Powinna zostać wyświetlona strona podobna do następującej:
Ponieważ kontener został uruchomiony interaktywnie za pomocą -it
polecenia , dane wyjściowe serwera Nginx są widoczne w wierszu polecenia po przejściu do niego w przeglądarce.
Aby zatrzymać i usunąć kontener, naciśnij Control
+C
.
Tworzenie aliasu obrazu
Użyj tagu platformy Docker, aby utworzyć alias obrazu z w pełni kwalifikowaną ścieżką do rejestru. W tym przykładzie jest określana przestrzeń nazw samples
, aby uniknąć zaśmiecania katalogu głównego rejestru.
docker tag nginx myregistry.azurecr.io/samples/nginx
Aby uzyskać więcej informacji na temat tagowania za pomocą przestrzeni nazw, zobacz sekcję Repository namespaces (Przestrzenie nazw repozytorium) w temacie Best practices for Azure Container Registry (Najlepsze rozwiązania dotyczące usługi Azure Container Registry).
Wypchnięcie obrazu do rejestru
Teraz, gdy obraz został otagowany przy użyciu w pełni kwalifikowanej ścieżki do rejestru prywatnego, możesz wypchnąć go do rejestru za pomocą polecenia docker push:
docker push myregistry.azurecr.io/samples/nginx
Ściągnięcie obrazu z rejestru
Użyj polecenia docker pull, aby ściągnąć obraz z rejestru:
docker pull myregistry.azurecr.io/samples/nginx
Uruchamianie kontenera Nginx
Użyj polecenia docker run, aby uruchomić obraz pobrany z rejestru:
docker run -it --rm -p 8080:80 myregistry.azurecr.io/samples/nginx
Przejdź do, aby http://localhost:8080
wyświetlić uruchomiony kontener.
Aby zatrzymać i usunąć kontener, naciśnij Control
+C
.
Usuń obraz (opcjonalnie)
Jeśli nie potrzebujesz już obrazu Nginx, możesz usunąć go lokalnie za pomocą polecenia docker rmi .
docker rmi myregistry.azurecr.io/samples/nginx
Aby usunąć obrazy z rejestru kontenerów platformy Azure, możesz użyć polecenia interfejsu wiersza polecenia platformy Azure az acr repository delete. Na przykład następujące polecenie usuwa manifest, do którego odwołuje się samples/nginx:latest
tag, wszystkie unikatowe dane warstwy i wszystkie inne tagi odwołujące się do manifestu.
az acr repository delete --name myregistry --image samples/nginx:latest
Zalecenia
Więcej informacji na temat opcji uwierzytelniania można znaleźć tutaj.
Następne kroki
Teraz, gdy znasz już podstawy, możesz rozpocząć korzystanie z rejestru. Na przykład wdróż obrazy kontenerów z rejestru w następujących celach:
Opcjonalnie zainstaluj rozszerzenie platformy Docker dla programu Visual Studio Code i rozszerzenie konta platformy Azure, aby pracować z rejestrami kontenerów platformy Azure. Ściąganie i wypychanie obrazów do rejestru kontenerów platformy Azure lub uruchamianie usługi ACR Tasks w programie Visual Studio Code.