Megosztás a következőn keresztül:


Oktatóanyag: Tárolórendszerkép létrehozása az Azure Container Instancesben való üzembe helyezéshez

Az Azure Container Instances lehetővé teszi Docker-tárolók üzembe helyezését az Azure-infrastruktúrában anélkül, hogy ehhez virtuális gépeket kellene üzembe helyeznie vagy magasabb szintű szolgáltatást kellene alkalmaznia. Ebben az oktatóanyagban egy kisméretű Node.js-webalkalmazást csomagolunk egy, az Azure Container Instances használatával futtatható tárolórendszerképbe.

A cikk, amely a sorozat első része, a következő lépésekből áll:

  • Alkalmazás forráskódjának klónozása a GitHubról
  • Tárolórendszerkép létrehozása az alkalmazás forrásából
  • A rendszerkép tesztelése helyi Docker-környezetben

Az oktatóanyag második és harmadik részében feltöltjük a rendszerképet az Azure Container Registrybe, majd üzembe helyezzük az Azure Container Instancesben.

Mielőtt elkezdené

Az oktatóanyag teljesítéséhez a következők szükségesek:

Azure CLI: Az Azure CLI 2.0.29-es vagy újabb verziójának telepítve kell lennie a helyi számítógépen. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne, olvassa el az Azure CLI telepítését ismertető cikket.

Docker: Az oktatóanyag feltételezi, hogy rendelkezik a Docker fő fogalmaira, például a tárolókra, tárolórendszerképekre és az alapszintű docker-parancsokra vonatkozó alapvető ismeretekkel. A Docker és a tárolók alapszintű ismertetéséért lásd a Docker felhasználói útmutatóját.

Docker: Az oktatóanyag elvégzéséhez helyileg kell telepítenie a Dockert. A Docker csomagokat biztosít a Docker-környezet konfigurálásához macOS, Windows és Linux rendszereken.

Fontos

Mivel az Azure Cloud Shell nem tartalmazza a Docker-démont, ezért az oktatóanyag teljesítéséhez telepíteni kell a helyi számítógépen az Azure CLI-t és a Docker Engine-t. Ehhez az oktatóanyaghoz nem használható az Azure Cloud Shell.

Az alkalmazáskód letöltése

Az oktatóanyagban szereplő mintaalkalmazás egy, a Node.js használatával létrehozott egyszerű webalkalmazás. Az alkalmazás egy statikus HTML-oldalt szolgál ki, és a következő képernyőképen láthatóakhoz hasonló:

Az oktatóanyag alkalmazása böngészőben megjelenítve

A Git használatával klónozza a mintaalkalmazás adattárát:

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

Közvetlenül a GitHubról is letöltheti a ZIP-archívumot.

Építse fel a tárolórendszerképet

A mintaalkalmazásban szereplő Dockerfile bemutatja a tároló összeállításának menetét. Egy hivatalos Node.js-rendszerképpel indul, amely az Alpine Linux rendszeren alapul – ez egy kisebb kiadás, amely jól használható a tárolókkal. Ezután bemásolja az alkalmazásfájlokat a tárolóba, telepíti a függőségeket a Node Package Managerrel, végül pedig elindítja az alkalmazást.

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

A docker build paranccsal hozza létre a tárolórendszerképet, és lássa el az aci-tutorial-app címkével:

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

A docker build parancs kimenete a következőhöz hasonló (az olvashatóság érdekében csonkolva):

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

A docker images paranccsal megtekintheti az összeállított rendszerképet:

docker images

Az újonnan létrehozott rendszerképnek meg kell jelennie a listán:

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

Futtassa helyileg a tárolót

Mielőtt megpróbálná üzembe helyezni a tárolót az Azure Container Instancesben, futtassa helyileg a docker run paranccsal, hogy ellenőrizze a működését. A -d kapcsolóval a tároló a háttérben működtethető, míg a -p kapcsolóval leképezheti a számítógép egy tetszőleges portját a tároló 80-as portjára.

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

Ha a parancs sikeres volt, a docker run parancs kimenete megjeleníti a futó tároló azonosítóját:

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

Ezután lépjen a http://localhost:8080 címre a böngészőben, hogy ellenőrizze, a tároló fut-e. A következőhöz hasonló webhely jelenik meg:

Az alkalmazás helyileg történő futtatása a böngészőben

Következő lépések

Az oktatóanyagban egy, az Azure Container Instancesben üzembe helyezhető tárolórendszerképet hozott létre, és ellenőrizte, hogy helyben fut-e. Eddig a következőket hajtotta végre:

  • Az alkalmazás forrásának klónozása a GitHubról
  • Tárolórendszerkép létrehozása az alkalmazás forrásából
  • A tároló helyi tesztelése

Folytassa a sorozat következő oktatóanyagával, amelyben a tárolórendszerkép az Azure Container Registryben való tárolását ismerheti meg: