Delen via


Handleiding: Een containerimage maken voor implementatie in Azure Container Instances

Met Azure Container Instances kunt u Docker-containers implementeren in de Azure-infrastructuur zonder virtuele machines in te richten of een service op een hoger niveau te gebruiken. In deze handleiding plaats je een kleine Node.js webtoepassing in een containerimage die kan worden uitgevoerd met behulp van Azure Container Instances.

In dit artikel, deel één van de reeks, gaat u als volgt te werk:

  • Broncode van toepassing klonen vanuit GitHub
  • Een containerafbeelding maken vanuit de applicatiebron
  • De afbeelding testen in een lokale Docker-omgeving

In tutorial onderdelen twee en drie, uploadt u uw image naar Azure Container Registry en implementeert u deze vervolgens naar Azure Container Instances.

Voordat u begint

U moet voldoen aan de volgende vereisten om deze zelfstudie te voltooien:

Azure CLI: U moet Azure CLI versie 2.0.29 of hoger hebben geïnstalleerd op uw lokale computer. Voer az --version uit om de versie te vinden. Raadpleeg Azure CLI installeren als u de Azure CLI moet installeren of upgraden.

Docker: In deze zelfstudie wordt ervan uitgegaan dat u basiskennis hebt van Docker-kernconcepten, zoals containers, containerimages en basisopdrachtendocker. Zie het Docker-overzicht voor een inleiding tot de basisprincipes van Docker en containers.

Docker: Als u deze zelfstudie wilt voltooien, moet Docker lokaal zijn geïnstalleerd. Docker biedt pakketten waarmee de Docker-omgeving op MacOS, Windows en Linux kan worden geconfigureerd.

Important

Omdat de Azure Cloud Shell de Docker-daemon niet bevat, moet u zowel de Azure CLI als docker-engine op uw lokale computer installeren om deze zelfstudie te voltooien. U kunt de Azure Cloud Shell niet gebruiken voor deze zelfstudie.

Toepassingscode ophalen

De voorbeeldtoepassing in deze zelfstudie is een eenvoudige web-app die is gebouwd in Node.js. De toepassing fungeert voor een statische HTML-pagina en ziet er ongeveer als volgt uit:

Zelfstudie-app weergegeven in browser

Gebruik Git om de opslagplaats van de voorbeeldtoepassing te klonen:

git clone https://github.com/Azure-Samples/aci-helloworld.git

U kunt het ZIP-archief ook rechtstreeks downloaden vanuit GitHub.

De containerafbeelding bouwen

Het Dockerfile in de voorbeeldtoepassing laat zien hoe de container is gebouwd. Het begint met een officiële Node.js installatiekopieën op basis van Alpine Linux, een kleine distributie die geschikt is voor gebruik met containers. Vervolgens worden de toepassingsbestanden gekopieerd naar de container, worden afhankelijkheden geïnstalleerd met behulp van Node Package Manager en wordt de toepassing ten slotte gestart.

FROM node:8.9.3-alpine
RUN mkdir -p /usr/src/app
COPY ./app/* /usr/src/app/
WORKDIR /usr/src/app
RUN npm install
CMD node /usr/src/app/index.js

Gebruik de docker build opdracht om de containerafbeelding te maken en deze als aci-tutorial-app te taggen.

docker build ./aci-helloworld -t aci-tutorial-app

Uitvoer van de docker-buildopdracht is vergelijkbaar met het volgende (afgekapt voor leesbaarheid):

docker build ./aci-helloworld -t aci-tutorial-app
Sending build context to Docker daemon  119.3kB
Step 1/6 : FROM node:8.9.3-alpine
8.9.3-alpine: Pulling from library/node
88286f41530e: Pull complete
84f3a4bf8410: Pull complete
d0d9b2214720: Pull complete
Digest: sha256:c73277ccc763752b42bb2400d1aaecb4e3d32e3a9dbedd0e49885c71bea07354
Status: Downloaded newer image for node:8.9.3-alpine
 ---> 90f5ee24bee2
...
Step 6/6 : CMD node /usr/src/app/index.js
 ---> Running in f4a1ea099eec
 ---> 6edad76d09e9
Removing intermediate container f4a1ea099eec
Successfully built 6edad76d09e9
Successfully tagged aci-tutorial-app:latest

Gebruik de docker images opdracht om de gebouwde image te bekijken.

docker images

De zojuist gemaakte image moet worden weergegeven in de lijst:

docker images
REPOSITORY          TAG       IMAGE ID        CREATED           SIZE
aci-tutorial-app    latest    5c745774dfa9    39 seconds ago    68.1 MB

De container lokaal uitvoeren

Voordat u de container implementeert in Azure Container Instances, gebruikt u Docker run om deze lokaal uit te voeren en te bevestigen dat deze werkt. De -d switch laat de container op de achtergrond draaien, terwijl -p u een willekeurige poort op uw computer kunt koppelen aan poort 80 in de container.

docker run -d -p 8080:80 aci-tutorial-app

De uitvoer van de docker run opdracht geeft de id van de actieve container weer als de opdracht is geslaagd:

docker run -d -p 8080:80 aci-tutorial-app
```output
a2e3e4435db58ab0c664ce521854c2e1a1bda88c9cf2fcff46aedf48df86cccf

Navigeer nu in uw browser naar http://localhost:8080 om te bevestigen dat de container actief is. Als het goed is, ziet u een webpagina die lijkt op de volgende schermopname.

De app lokaal uitvoeren in de browser

Volgende stappen

In deze zelfstudie hebt u een containerinstallatiekopie gemaakt die kan worden geïmplementeerd in Azure Container Instances en hebt u gecontroleerd of deze lokaal wordt uitgevoerd. Tot nu toe hebt u de volgende stappen uitgevoerd:

  • De toepassingsbron gekloond vanuit GitHub
  • Een containerimage gemaakt vanuit de toepassingsbron
  • De container lokaal getest

Ga naar de volgende zelfstudie in de reeks voor meer informatie over het opslaan van uw containerinstallatiekopieën in Azure Container Registry: