Een installatiekopieën bouwen en pushen vanuit een app met behulp van een cloudeigen buildpack
De Azure CLI-opdracht az acr pack build
maakt gebruik van het pack
CLI-hulpprogramma, van Buildpacks, om een app te bouwen en de installatiekopieën naar een Azure-containerregister te pushen. Deze functie biedt een optie om snel een containerinstallatiekopieën te bouwen vanuit de broncode van uw toepassing in Node.js, Java en andere talen zonder dat u een Dockerfile hoeft te definiëren.
U kunt de Azure Cloud Shell of een lokale installatie van de Azure CLI gebruiken om de voorbeelden in dit artikel uit te voeren. Als u deze lokaal wilt gebruiken, is versie 2.0.70 of hoger vereist. Voer az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Belangrijk
Deze functie is momenteel beschikbaar in preview. Previews worden voor u beschikbaar gesteld op voorwaarde dat u akkoord gaat met de aanvullende gebruiksvoorwaarden. Sommige aspecten van deze functie worden mogelijk nog gewijzigd voordat de functie algemeen beschikbaar wordt.
De build-opdracht gebruiken
Als u een containerinstallatiekopieën wilt bouwen en pushen met behulp van Cloud Native Buildpacks, voert u de opdracht az acr pack build uit. Terwijl met de az acr build-opdracht een installatiekopieën worden gebouwd en gepusht vanuit een Dockerfile-bron en gerelateerde code, geeft az acr pack build
u rechtstreeks een toepassingsbronstructuur op.
Geef minimaal het volgende op wanneer u uitvoert az acr pack build
:
- Een Azure-containerregister waar u de opdracht uitvoert
- Een afbeeldingsnaam en -tag voor de resulterende afbeelding
- Een van de ondersteunde contextlocaties voor ACR Tasks, zoals een lokale map, een GitHub-opslagplaats of een externe tarball
- De naam van een buildpack builder-installatiekopieën die geschikt zijn voor uw toepassing. Als de opbouwfunctie niet in de cache wordt opgeslagen in de cache van Azure Container Registry, moet de opbouwinstallatiekopie worden opgehaald met behulp van de
--pull
parameter.
az acr pack build
ondersteunt andere functies van ACR Tasks-opdrachten, waaronder uitvoeringsvariabelen en taakuitvoeringslogboeken die worden gestreamd en die ook worden opgeslagen voor later ophalen.
Voorbeeld: Node.js installatiekopieën bouwen met Cloud Foundry Builder
In het volgende voorbeeld wordt een containerinstallatiekopie gemaakt van een Node.js-app in de opslagplaats Azure-Samples/nodejs-docs-hello-world , met behulp van de cloudfoundry/cnb:cflinuxfs3
opbouwfunctie.
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
In dit voorbeeld wordt de node-app
installatiekopie met de 1.0
tag gemaakt en naar het containerregister myregistry gepusht. In dit voorbeeld wordt de naam van het doelregister expliciet toegewezen aan de naam van de installatiekopieën. Als dit niet is opgegeven, wordt de naam van de aanmeldingsserver van het register automatisch toegewezen aan de naam van de installatiekopieën.
De uitvoer van de opdracht toont de voortgang van het bouwen en pushen van de installatiekopie.
Nadat de installatiekopie is gemaakt, kunt u deze uitvoeren met Docker als u deze hebt geïnstalleerd. Meld u eerst aan bij uw register:
az acr login --name myregistry
Voer de installatiekopieën uit:
docker run --rm -p 1337:1337 myregistry.azurecr.io/node-app:1.0
Blader naar localhost:1337
in uw favoriete browser om de voorbeeldweb-app te bekijken. Druk [Ctrl]+[C]
om de container te stoppen.
Voorbeeld: Java-installatiekopieën bouwen met Heroku Builder
In het volgende voorbeeld wordt een containerinstallatiekopieën gemaakt van de Java-app in de opslagplaats buildpack/sample-java-app , met behulp van de heroku/buildpacks:18
opbouwfunctie.
az acr pack build \
--registry myregistry \
--image java-app:{{.Run.ID}} \
--pull --builder heroku/buildpacks:18 \
https://github.com/buildpack/sample-java-app.git
In dit voorbeeld wordt de java-app
installatiekopie gemaakt die is getagd met de uitvoerings-id van de opdracht en wordt deze naar het containerregister van myregistry gepusht.
De uitvoer van de opdracht toont de voortgang van het bouwen en pushen van de installatiekopie.
Nadat de installatiekopie is gemaakt, kunt u deze uitvoeren met Docker als u deze hebt geïnstalleerd. Meld u eerst aan bij uw register:
az acr login --name myregistry
Voer de installatiekopie uit, waarbij u uw installatiekopietag vervangt door runid:
docker run --rm -p 8080:8080 myregistry.azurecr.io/java-app:runid
Blader naar localhost:8080
in uw favoriete browser om de voorbeeldweb-app te bekijken. Druk [Ctrl]+[C]
om de container te stoppen.
Volgende stappen
Nadat u een containerinstallatiekopieën hebt gebouwd en gepusht az acr pack build
, kunt u deze als elke installatiekopieën implementeren naar een doel van uw keuze. Azure-implementatieopties omvatten het uitvoeren ervan in App Service of Azure Kubernetes Service, onder andere.
Zie Builds en onderhoud van containerinstallatiekopieën automatiseren met ACR Tasks voor meer informatie over ACR Tasks-functies.