Udostępnij za pośrednictwem


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:

Kontener Nginx na komputerze lokalnym

Ponieważ kontener został uruchomiony interaktywnie za pomocą -itpolecenia , 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.