Zelfstudie: Een containerinstallatiekopieën 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 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: 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.
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:
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:
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: