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 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ě 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 build
ná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.