Kurz: Vytvoření image kontejneru pro nasazení do služby Azure Container Instances
Azure Container Instances umožňuje nasazení kontejnerů Dockeru na infrastrukturu Azure bez zřizování virtuálních počítačů nebo využívání služby vyšší úrovně. V tomto kurzu zabalíte malou webovou aplikaci Node.js do image kontejneru, kterou bude možné spustit pomocí služby Azure Container Instances.
V tomto článku, který je první částí série, se naučíte:
- Klonování zdrojového kódu aplikace z GitHubu
- Vytvoření image kontejneru ze zdroje aplikace
- Testování image v místním prostředí Dockeru
V druhé a třetím kurzu nahrajete svou image do služby Azure Container Registry a potom ji nasadíte do služby Azure Container Instances.
Než začnete
Abyste mohli absolvovat tento kurz, musíte splňovat následující požadavky:
Azure CLI: Na svém místním počítači musíte mít nainstalované Azure CLI verze 2.0.29 nebo novější. Verzi zjistíte spuštěním příkazu az --version
. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace rozhraní příkazového řádku Azure CLI.
Docker: V tomto kurzu se předpokládá základní znalost klíčových konceptů Dockeru, jako jsou kontejnery, image kontejnerů a základní příkazy docker
. Základní informace o Dockeru a kontejnerech najdete v článku Docker Overview (Přehled Dockeru).
Docker: K dokončení tohoto kurzu potřebujete Docker nainstalovaný místně. Docker poskytuje balíčky, které nakonfigurují prostředí Dockeru v systému macOS, Windows a Linux.
Důležité
Vzhledem k tomu, že Azure Cloud Shell neobsahuje démona Dockeru, k dokončení tohoto kurzu musíte nainstalovat Azure CLI i modul Docker na svůj místní počítač. Pro účely tohoto kurzu není možné použít Azure Cloud Shell.
Získání kódu aplikace
Ukázková aplikace v tomto kurzu je jednoduchá webová aplikace vytvořená v Node.js. Tato aplikace slouží jako statická stránka HTML a vypadá podobně jako následující snímek obrazovky:
Pomocí Gitu naklonujte úložiště ukázkové aplikace:
git clone https://github.com/Azure-Samples/aci-helloworld.git
Archiv ZIP můžete také stáhnout přímo z GitHubu.
Sestavení image kontejneru
Soubor Dockerfile v ukázkové aplikaci ukazuje postup sestavení kontejneru. Začíná od oficiální image Node.js založené na systému Alpine Linux, malé distribuci vhodné pro použití s kontejnery. Potom zkopíruje soubory aplikace do kontejneru, nainstaluje závislosti pomocí Node Package Manageru a nakonec aplikaci spustí.
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
Pomocí příkazu docker build vytvořte image kontejneru a označte ji jako aci-tutorial-app:
docker build ./aci-helloworld -t aci-tutorial-app
Výstup příkazu docker build je podobný následujícímu výstupu (zkrácenému pro lepší čitelnost):
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
Pomocí příkazu docker images zobrazte sestavenou image:
docker images
Nově vytvořená image by se měla objevit na seznamu:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
aci-tutorial-app latest 5c745774dfa9 39 seconds ago 68.1 MB
Místní spuštění kontejneru
Než kontejner nasadíte do služby Azure Container Instances, spusťte ho místně pomocí příkazu docker run a ověřte, že funguje. Přepínač -d
umožňuje spuštění kontejneru na pozadí, zatímco přepínač -p
umožňuje mapování libovolného portu vašeho počítače na port 80 kontejneru.
docker run -d -p 8080:80 aci-tutorial-app
Pokud byl příkaz docker run
úspěšný, výstup z něj zobrazí ID spuštěného kontejneru:
docker run -d -p 8080:80 aci-tutorial-app
```output
a2e3e4435db58ab0c664ce521854c2e1a1bda88c9cf2fcff46aedf48df86cccf
Teď ve svém prohlížeči přejděte na adresu http://localhost:8080
a ověřte, že je kontejner spuštěný. Měla by se zobrazit webová stránka podobná následujícímu snímku obrazovky:
Další kroky
V tomto kurzu jste vytvořili image kontejneru, kterou je možné nasadit do služby Azure Container Instances a ověřit, že běží místně. Zatím jste dokončili následující kroky:
- Klonování zdroje aplikace z GitHubu
- Vytvoření image kontejneru ze zdroje aplikace
- Místní test kontejneru
Přejděte k dalšímu kurzu v sérii, ve kterém se seznámíte s ukládáním image kontejneru do služby Azure Container Registry: