Udostępnij za pośrednictwem


Kompilowanie i wypychanie obrazu z aplikacji przy użyciu natywnego pakietu Buildpack w chmurze

Polecenie az acr pack build interfejsu wiersza polecenia platformy Azure używa narzędzia interfejsu pack wiersza polecenia z pakietu Buildpacks do kompilowania aplikacji i wypychania jej obrazu do rejestru kontenerów platformy Azure. Ta funkcja umożliwia szybkie tworzenie obrazu kontenera z kodu źródłowego aplikacji w Node.js, Java i innych językach bez konieczności definiowania pliku Dockerfile.

Aby uruchomić przykłady w tym artykule, możesz użyć usługi Azure Cloud Shell lub lokalnej instalacji interfejsu wiersza polecenia platformy Azure. Jeśli chcesz używać go lokalnie, wymagana jest wersja 2.0.70 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.

Ważne

Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Wersje zapoznawcze są udostępniane pod warunkiem udzielenia zgody na dodatkowe warunki użytkowania. Niektóre cechy funkcji mogą ulec zmianie, zanim stanie się ona ogólnie dostępna.

Użyj polecenia kompilacji

Aby skompilować i wypchnąć obraz kontenera przy użyciu pakietów Buildpack w chmurze, uruchom polecenie az acr pack build . Podczas gdy polecenie az acr build kompiluje i wypycha obraz ze źródła dockerfile i powiązanego kodu, a następnie bezpośrednio az acr pack build określa drzewo źródłowe aplikacji.

Po uruchomieniu programu określ co najmniej następujące elementy az acr pack build:

  • Rejestr kontenerów platformy Azure, w którym uruchamiasz polecenie
  • Nazwa obrazu i tag dla obrazu wynikowego
  • Jedna z obsługiwanych lokalizacji kontekstowych dla usługi ACR Tasks, takich jak katalog lokalny, repozytorium GitHub lub zdalny tarball
  • Nazwa obrazu konstruktora kompilacji odpowiednia dla aplikacji. Jeśli usługa Azure Container Registry nie jest buforowana, należy ściągnąć obraz konstruktora przy użyciu parametru --pull .

az acr pack build obsługuje inne funkcje poleceń usługi ACR Tasks, w tym zmienne uruchamiania i dzienniki uruchamiania zadań, które są przesyłane strumieniowo, a także zapisywane na potrzeby późniejszego pobierania.

Przykład: Kompilowanie obrazu Node.js za pomocą konstruktora Cloud Foundry

Poniższy przykład tworzy obraz kontenera z aplikacji Node.js w repozytorium Azure-Samples/nodejs-docs-hello-world przy użyciu konstruktora cloudfoundry/cnb:cflinuxfs3 .

az acr pack build \
    --registry myregistry \
    --image node-app:1.0 \
    --pull --builder cloudfoundry/cnb:cflinuxfs3 \
    https://github.com/Azure-Samples/nodejs-docs-hello-world.git

W tym przykładzie obraz jest node-app kompilowane za pomocą tagu 1.0 i wypychane do rejestru kontenerów myregistry . W tym przykładzie nazwa rejestru docelowego jest jawnie poprzedzana nazwą obrazu. Jeśli nie zostanie określona, nazwa serwera logowania rejestru jest automatycznie poprzedzana nazwą obrazu.

Dane wyjściowe polecenia pokazują postęp kompilowania i wypychania obrazu.

Po pomyślnym skompilaniu obrazu można go uruchomić przy użyciu platformy Docker, jeśli został zainstalowany. Najpierw zaloguj się do rejestru:

az acr login --name myregistry

Uruchom obraz:

docker run --rm -p 1337:1337 myregistry.azurecr.io/node-app:1.0

Przejdź do localhost:1337 strony w ulubionej przeglądarce, aby wyświetlić przykładową aplikację internetową. Naciśnij , [Ctrl]+[C] aby zatrzymać kontener.

Przykład: tworzenie obrazu Java za pomocą konstruktora Heroku

Poniższy przykład tworzy obraz kontenera z aplikacji Java w repozytorium buildpack/sample-java-app przy użyciu konstruktora heroku/buildpacks:18 .

az acr pack build \
    --registry myregistry \
    --image java-app:{{.Run.ID}} \
    --pull --builder heroku/buildpacks:18 \
    https://github.com/buildpack/sample-java-app.git

W tym przykładzie obraz został java-app skompilowany przy użyciu identyfikatora uruchomienia polecenia i wypchnie go do rejestru kontenerów myregistry .

Dane wyjściowe polecenia pokazują postęp kompilowania i wypychania obrazu.

Po pomyślnym skompilaniu obrazu można go uruchomić przy użyciu platformy Docker, jeśli został zainstalowany. Najpierw zaloguj się do rejestru:

az acr login --name myregistry

Uruchom obraz, podstawiając tag obrazu dla elementu runid:

docker run --rm -p 8080:8080 myregistry.azurecr.io/java-app:runid

Przejdź do localhost:8080 strony w ulubionej przeglądarce, aby wyświetlić przykładową aplikację internetową. Naciśnij , [Ctrl]+[C] aby zatrzymać kontener.

Następne kroki

Po skompilowania i wypchnięciu obrazu kontenera za pomocą az acr pack buildpolecenia można wdrożyć go jak dowolny obraz w wybranym obiekcie docelowym. Opcje wdrażania platformy Azure obejmują uruchamianie jej w usłudze App Service lub usłudze Azure Kubernetes Service, między innymi.

Aby uzyskać więcej informacji na temat funkcji usługi ACR Tasks, zobacz Automatyzowanie kompilacji i konserwacji obrazu kontenera za pomocą usługi ACR Tasks.