Delen via


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 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 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.