Sestavení a nasdílení image z aplikace pomocí balíčku Buildpack nativní pro cloud
Příkaz az acr pack build
Azure CLI používá pack
nástroj CLI z buildpacků k sestavení aplikace a nasdílení její image do registru kontejneru Azure. Tato funkce poskytuje možnost rychlého sestavení image kontejneru ze zdrojového kódu aplikace v Node.js, Javě a dalších jazycích bez nutnosti definovat soubor Dockerfile.
Ke spuštění příkladů v tomto článku můžete použít Azure Cloud Shell nebo místní instalaci 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ě dostupná jako ukázková verze. 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 odeslat image kontejneru pomocí balíčků Buildpack pro nativní cloud, spusťte příkaz az acr pack build . Zatímco příkaz az acr build sestaví a nasdílí image ze zdrojového souboru Dockerfile a souvisejícího kódu a az acr pack build
zadáte přímo zdrojový strom aplikace.
Při spuštění az acr pack build
zadejte 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ě GitHubu nebo vzdálený tarball
- Název image Buildpack Builderu vhodné pro vaši aplikaci. Pokud služba Azure Container Registry neukládaná do mezipaměti, musí se image tvůrce načíst pomocí parametru
--pull
.
az acr pack build
podporuje další funkce příkazů ACR Tasks, včetně spuštění proměnných a protokolů spuštění úloh, které jsou streamovány a také uloženy pro pozdější načtení.
Příklad: Sestavení image Node.js pomocí Tvůrce Cloud Foundry
Následující příklad vytvoří 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 odešle 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ředpomene názvu image.
Výstup příkazu ukazuje průběh sestavování a nasdílením image.
Po úspěšném sestavení image ji můžete spustit pomocí Dockeru, pokud ji máte nainstalovanou. Nejdřív se přihlaste ke svému registru:
az acr login --name myregistry
Spusťte image:
docker run --rm -p 1337:1337 myregistry.azurecr.io/node-app:1.0
Přejděte do svého oblíbeného prohlížeče a podívejte se localhost:1337
na ukázkovou webovou aplikaci. Stisknutím [Ctrl]+[C]
zastavíte kontejner.
Příklad: Sestavení image Java pomocí Tvůrce Heroku
Následující příklad pomocí tvůrce sestaví image kontejneru z aplikace Java v úložišti heroku/buildpacks:18
buildpack/sample-java-app.
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 odešle ji do registru kontejneru myregistry .
Výstup příkazu ukazuje průběh sestavování a nasdílením image.
Po úspěšném sestavení image ji můžete spustit pomocí Dockeru, pokud ji máte nainstalovanou. Nejdřív se přihlaste ke svému 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
Přejděte do svého oblíbeného prohlížeče a podívejte se localhost:8080
na ukázkovou webovou aplikaci. Stisknutím [Ctrl]+[C]
zastavíte kontejner.
Další kroky
Po sestavení a nasdílení image az acr pack build
kontejneru můžete nasadit jako jakoukoli image do zvoleného cíle. Mezi možnosti nasazení Azure patří mimo jiné spuštění ve službě 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.