Tutorial: Membuat image kontainer untuk diterapkan ke Azure Container Instances

Azure Container Instances memungkinkan penerapan kontainer Docker ke infrastruktur Azure tanpa menyediakan mesin virtual apa pun atau mengadopsi layanan tingkat yang lebih tinggi. Dalam tutorial ini, Anda mengemas aplikasi web Node.js kecil menjadi image kontainer yang dapat dijalankan dengan menggunakan Azure Container Instances.

Dalam artikel ini, bagian pertama dari seri ini, Anda:

  • Klon kode sumber aplikasi dari GitHub
  • Buat gambar kontainer dari sumber aplikasi
  • Uji image di lingkungan Docker lokal

Di tutorial bagian dua dan tiga, Anda mengunggah image ke Azure Container Registry, lalu menerapkannya ke Azure Container Instances.

Sebelum Anda mulai

Anda harus memenuhi persyaratan berikut untuk menyelesaikan tutorial ini:

Azure CLI: Anda harus menginstal Azure CLI versi 2.0.29 atau yang lebih baru di komputer lokal Anda. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Docker: Tutorial ini mengasumsikan pemahaman dasar tentang konsep Docker inti seperti kontainer, gambar kontainer, dan perintah docker dasar. Untuk primer tentang Docker dan dasar kontainer, lihat Gambaran umum Docker.

Docker: Untuk menyelesaikan tutorial ini, Anda perlu menginstal Docker secara lokal. Docker menyediakan paket yang mengonfigurasi lingkungan Docker di macOS, Windows, dan Linux.

Penting

Karena Azure Cloud shell tidak menyertakan daemon Docker, Anda harus menginstal Azure CLI dan Docker Engine di komputer lokal Anda untuk menyelesaikan tutorial ini. Anda tidak dapat menggunakan Azure Cloud Shell untuk tutorial ini.

Dapatkan kode aplikasi

Aplikasi contoh dalam tutorial ini adalah aplikasi web sederhana yang dibangun di Node.js. Aplikasi ini menyajikan halaman HTML statis, dan terlihat mirip dengan cuplikan layar berikut:

Aplikasi tutorial ditampilkan di browser

Gunakan Git untuk klon repositori aplikasi sampel:

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

Anda juga dapat mengunduh arsip ZIP dari GitHub secara langsung.

Buat image kontainer

Dockerfile dalam aplikasi contoh menunjukkan bagaimana kontainer dibuat. Ini dimulai dari image Node.js resmi yang berbasis Alpine Linux, yaitu distribusi kecil yang cocok untuk digunakan dengan kontainer. File aplikasi kemudian disalin ke dalam kontainer, dependensi menggunakan simpul Package Manager diinstal, dan akhirnya, aplikasi dimulai.

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

Gunakan perintah docker build untuk membuat image kontainer dan beri tag sebagai aci-tutorial-app:

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

Keluaran dari perintah docker build mirip dengan perintah berikut ini (dipotong agar terbaca):

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

Gunakan perintah docker images untuk melihat gambar bawaan:

docker images

Gambar Anda yang baru dibuat akan muncul dalam daftar:

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

Jalankan kontainer secara lokal

Sebelum Anda menerapkan kontainer ke Azure Container Instances, gunakan docker run untuk menjalankannya secara lokal dan konfirmasikan bahwa itu berfungsi. Dengan sakelar -d, kontainer dapat berjalan di latar belakang, sedangkan-p Anda dapat memetakan port arbitrer di komputer Anda ke port 80 di kontainer.

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

Keluaran dari perintah docker runmenampilkan ID kontainer berjalan jika perintah berhasil:

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

Sekarang, navigasikan ke http://localhost:8080di browser Anda untuk mengonfirmasi bahwa kontainer sedang berjalan. Anda akan melihat halaman web seperti berikut ini:

Menjalankan aplikasi secara lokal di browser

Langkah berikutnya

Dalam tutorial ini, Anda membuat image kontainer yang dapat diterapkan di Azure Container Instances, dan memverifikasi bahwa gambar tersebut berjalan secara lokal. Sejauh ini, Anda telah melakukan yang berikut:

  • Mengkloning sumber aplikasi dari GitHub
  • Membuat image kontainer dari sumber aplikasi
  • Menguji kontainer secara lokal

Lanjutkan ke tutorial berikutnya dalam rangkaian ini untuk mempelajari penyimpanan image kontainer di Azure Container Registry: