Zelfstudie: een containerinstallatiekopie voor implementatie in Azure Container Instances maken

Met Azure Container Instances kunt u Docker-containers implementeren in de Azure-infrastructuur zonder virtuele machines in te richten of gebruik te maken van een service op een hoger niveau. In deze zelfstudie verpakt u een kleine Node.js-webtoepassing in een containerinstallatiekopie die kan worden uitgevoerd met behulp van Azure Container Instances.

In dit artikel, deel één uit de reeks, voert u de volgende handelingen uit:

  • Toepassingsbroncode klonen vanuit GitHub
  • Containerinstallatiekopie maken uit de toepassingsbron
  • Installatiekopie testen in een lokale Docker-omgeving

In deel twee en drie van de zelfstudie uploadt u uw installatiekopie naar Azure Container Registry en implementeert u deze vervolgens in Azure Container Instances.

Voordat u begint

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

Azure CLI: Azure CLI versie 2.0.29 of hoger moet op uw lokale computer zijn geïnstalleerd. Voer az --version uit om de versie te bekijken. Als u uw CLI wilt installeren of upgraden, raadpleegt u De Azure CLI installeren.

Docker: in deze zelfstudie wordt ervan uitgegaan dat u een basiskennis hebt van Docker-kernconcepten zoals containers, containerinstallatiekopieën en eenvoudige docker-opdrachten. Zie het Docker-overzicht voor een inleiding tot de basisprincipes van Docker en containers.

Docker: Voor het voltooien van deze zelfstudie, hebt u een lokale installatie van Docker nodig. Docker biedt pakketten waarmee de Docker-omgeving op MacOS, Windows en Linux kan worden geconfigureerd.

Belangrijk

Omdat de Docker-daemon niet is opgenomen in Azure Cloud Shell, moeten zowel Azure CLI als Docker Engine op uw lokale computer zijn geïnstalleerd om deze zelfstudie te voltooien. U kunt niet Azure Cloud Shell gebruiken voor deze zelfstudie.

Toepassingscode ophalen

De voorbeeldtoepassing in deze zelfstudie is een eenvoudige webtoepassing die is gebouwd in Node.js. De toepassing dient een statische HTML-pagina op en lijkt op de volgende schermafbeelding:

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 van GitHub downloaden.

De containerinstallatiekopie bouwen

Het Dockerfile in de voorbeeldtoepassing laat zien hoe de container wordt gebouwd. Het begint met een officiële Node.js-installatiekopie op basis van Alpine Linux, een kleine distributie die zeer geschikt is voor gebruik met containers. Vervolgens worden de toepassingsbestanden naar de container gekopieerd, afhankelijkheden geïnstalleerd met behulp van de Node Package Manager, en wordt ten slotte de toepassing 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 opdracht docker build om de containerinstallatiekopie te maken en tag deze als aci-tutorial-app:

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

De uitvoer van de opdracht docker build lijkt op (ingekort om makkelijk te kunnen lezen):

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 opdracht docker images om de gemaakte installatiekopie te bekijken:

docker images

Uw pasgebouwde installatiekopie behoort in de lijst te verschijnen:

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

De container lokaal uitvoeren

Voer voordat u de container implementeert naar Azure Container Instances docker run uit om de container lokaal uit te voeren en te controleren of deze werkt. Met de schakeloptie -d wordt de container op de achtergrond uitgevoerd en met -p kunt u een willekeurige poort op uw computer toewijzen aan poort 80 in de container.

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

Uitvoer van de docker run-opdracht geeft de id van de actieve container weer als de opdracht geslaagd is:

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

Ga nu in uw browser naar http://localhost:8080 om te bevestigen dat de container wordt uitgevoerd. U ziet een webpagina die lijkt op de volgende:

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 geverifieerd dat deze lokaal werkt. Tot nu toe hebt u het volgende gedaan:

  • De toepassingsbron is gekloond vanuit GitHub
  • Een containerinstallatiekopie gemaakt uit de toepassingsbron
  • De container is lokaal uitgevoerd

Ga verder met de volgende zelfstudie in de reeks voor meer informatie over het opslaan van uw containerinstallatiekopie in Azure Container Registry: