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, Pasang 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.
Mendapatkan 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:
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. Sakelar -d
memungkinkan kontainer berjalan di latar belakang, sementara -p
memungkinkan Anda untuk memetakan port arbitrer di komputer Anda ke port 80 dalam kontainer.
docker run -d -p 8080:80 aci-tutorial-app
Output dari docker run
perintah menampilkan ID kontainer yang sedang berjalan jika perintah berhasil:
docker run -d -p 8080:80 aci-tutorial-app
```output
a2e3e4435db58ab0c664ce521854c2e1a1bda88c9cf2fcff46aedf48df86cccf
Sekarang, buka http://localhost:8080
di browser Anda untuk mengonfirmasi bahwa kontainer sedang berjalan. Anda akan melihat halaman web seperti berikut ini:
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: