Delen via


Een installatiekopie bouwen en pushen vanuit een app met behulp van een Cloud Native 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 containerimage wilt bouwen en pushen met behulp van Cloud Native Buildpacks, voert u de opdracht az acr pack build uit. Met de az acr build-opdracht bouwt en pusht u een afbeelding vanuit een Dockerfile-bron en bijbehorende code, terwijl u met az acr pack build direct een toepassingsbronstructuur specificeert.

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 builderafbeelding die geschikt is voor uw toepassing. Als de builder-afbeelding niet in de cache van Azure Container Registry is opgeslagen, moet deze worden opgehaald met behulp van de --pull parameter.

az acr pack buildondersteunt 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 het node-app image met de 1.0 tag gemaakt en gepusht naar het myregistry-containerregister. In dit voorbeeld wordt de naam van het doelregister expliciet voorafgegaan door de afbeeldingsnaam. Als de naam van de loginserver niet is opgegeven, wordt deze automatisch voorafgaand aan de naam van de image toegevoegd.

De uitvoer van de opdracht toont de voortgang van het bouwen en uploaden van de afbeelding.

Nadat het image succesvol is gemaakt, kunt u het uitvoeren met Docker, als u Docker geïnstalleerd heeft. Meld u eerst aan bij uw register:

az acr login --name myregistry

Voer de image 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-image bouwen met Heroku builder

In het volgende voorbeeld wordt een containerbeeld gemaakt van de Java-app in de opslagplaats buildpack/sample-java-app, met behulp van de heroku/buildpacks:18 builder.

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 image gemaakt, die is getagd met de uitvoerings-ID van de opdracht, en deze wordt gepusht naar het containerregister myregistry.

De uitvoer van de opdracht toont de voortgang van het bouwen en uploaden van de afbeelding.

Nadat de image succesvol is gebouwd, kunt u deze draaien via Docker, als u Docker hebt geïnstalleerd. Meld u eerst aan bij uw register:

az acr login --name myregistry

Voer de afbeelding uit, waarbij u uw afbeeldingstag 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 containerimage hebt gebouwd en gepusht met az acr pack build, kunt u deze zoals elke containerimage deployen naar een doel van uw keuze. Azure-implementatieopties omvatten het uitvoeren ervan in App Service of Azure Kubernetes Service, onder andere.

Voor meer informatie over functies van ACR Tasks, zie Containerbeelden bouwen en onderhouden automatiseren met ACR Tasks.