Sestavení a nasdílení image z aplikace pomocí buildpacku nativního pro cloud

Příkaz az acr pack build Azure CLI používá nástroj rozhraní příkazového pack řádku z buildpacks k sestavení aplikace a vložení její image do registru kontejneru Azure. Tato funkce nabízí možnost rychle sestavit image kontejneru ze zdrojového kódu aplikace v Node.js, Javě a dalších jazycích, aniž byste museli definovat soubor Dockerfile.

Příklady v tomto článku můžete spustit pomocí azure Cloud Shell nebo místní instalace Azure CLI. Pokud ho chcete používat místně, vyžaduje se verze 2.0.70 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Důležité

Tato funkce je aktuálně ve verzi Preview. Verze Preview vám zpřístupňujeme pod podmínkou, že budete souhlasit s dodatečnými podmínkami použití. Některé aspekty této funkce se můžou před zveřejněním změnit.

Použití příkazu sestavení

Pokud chcete sestavit a nasdílit image kontejneru pomocí nativních cloudových balíčků Buildpacks, spusťte příkaz az acr pack build build . Zatímco příkaz az acr build sestaví a nasdílí image ze zdroje Dockerfile a souvisejícího kódu, az acr pack build zadáte přímo strom zdroje aplikace.

Při spuštění az acr pack buildzadejte minimálně následující:

  • Registr kontejneru Azure, ve kterém spustíte příkaz
  • Název a značka obrázku pro výsledný obrázek
  • Jedno z podporovaných kontextových umístění pro ACR Tasks, jako je místní adresář, úložiště GitHub nebo vzdálený tarball
  • Název image buildpack builderu vhodné pro vaši aplikaci. Pokud Azure Container Registry neumisí do mezipaměti, musí být image tvůrce natažena pomocí parametru --pull .

az acr pack build podporuje další funkce příkazů ACR Tasks, včetně proměnných spuštění a protokolů spuštění úloh , které se streamují a také ukládají pro pozdější načtení.

Příklad: Sestavení image Node.js pomocí Tvůrce Cloud Foundry

Následující příklad sestaví image kontejneru z aplikace Node.js v úložišti Azure-Samples/nodejs-docs-hello-world pomocí cloudfoundry/cnb:cflinuxfs3 tvůrce.

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

Tento příklad sestaví node-app image se značkou 1.0 a nasdílí ji do registru kontejneru myregistry . V tomto příkladu je název cílového registru explicitně předem před názvem image. Pokud není zadaný, název přihlašovacího serveru registru se automaticky předpolohuje na název image.

Výstup příkazu ukazuje průběh sestavování a nahrání image.

Po úspěšném sestavení image ji můžete spustit pomocí Dockeru, pokud ji máte nainstalovanou. Nejprve se přihlaste k registru:

az acr login --name myregistry

Spusťte image:

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

V oblíbeném prohlížeči přejděte na adresu a podívejte se localhost:1337 na ukázkovou webovou aplikaci. Stisknutím zastavte [Ctrl]+[C] kontejner.

Příklad: Sestavení image v Javě pomocí Tvůrce Heroku

Následující příklad sestaví image kontejneru z aplikace Java v úložišti buildpack/sample-java-app pomocí heroku/buildpacks:18 tvůrce.

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

Tento příklad sestaví java-app image označenou ID spuštění příkazu a nasdílí ji do registru kontejneru myregistry .

Výstup příkazu ukazuje průběh sestavování a nahrání image.

Po úspěšném sestavení image ji můžete spustit pomocí Dockeru, pokud ji máte nainstalovanou. Nejprve se přihlaste k registru:

az acr login --name myregistry

Spusťte image a nahraďte značku image runid:

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

V oblíbeném prohlížeči přejděte na adresu a podívejte se localhost:8080 na ukázkovou webovou aplikaci. Stisknutím zastavte [Ctrl]+[C] kontejner.

Další kroky

Jakmile vytvoříte a nasdílíte image kontejneru pomocí az acr pack buildnástroje , můžete ji nasadit jako libovolnou image do cíle podle vlastního výběru. Mezi možnosti nasazení Azure patří mimo jiné jeho spuštění v App Service nebo Azure Kubernetes Service.

Další informace o funkcích ACR Tasks najdete v tématu Automatizace sestavení a údržby imagí kontejneru pomocí ACR Tasks.