Menerapkan Aplikasi Multi-Layanan
Terapkan aplikasi full-stack dengan basis data dan layanan backend menggunakan Docker Compose.
Menerapkan Aplikasi Multi-Layanan adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Menerapkan Aplikasi dengan Banyak Layanan
Selamat datang! Dalam pelajaran ini, kita akan mempelajari cara menjalankan aplikasi full-stack menggunakan Docker Compose.
Anda akan melihat cara mendefinisikan beberapa layanan, seperti aplikasi web dan basis data, lalu menerapkan serta mengelolanya secara bersamaan.

Contoh Kita: Web & Basis Data
Kita akan menerapkan aplikasi web sederhana yang terhubung ke basis data. Ini merupakan konfigurasi umum untuk banyak aplikasi di dunia nyata.
- Layanan Web: Aplikasi Python Flask yang menyajikan halaman web dasar.
- Layanan Basis Data: Basis data PostgreSQL untuk menyimpan data.
Docker Compose memudahkan pengaturan kedua layanan ini!
Membangun Image Web
Layanan web kita memerlukan image Docker sendiri. Berikut Dockerfile sederhana yang membangun aplikasi Python Flask kita.
File ini memasang Flask dan konektor PostgreSQL, lalu menjalankan app.py.
FROM python:3.9-slim-buster
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir flask psycopg2-binary
EXPOSE 5000
CMD ["python", "app.py"]`docker-compose.yml`
File docker-compose.yml ini mendefinisikan dua layanan kita: web dan db. Perhatikan bahwa layanan web dibangun dari Dockerfile kita dan terhubung ke layanan db menggunakan variabel lingkungan.
version: '3.8'
services:
web:
build: .
ports:
- "5000:5000"
environment:
DB_HOST: db
DB_NAME: mydatabase
DB_USER: user
DB_PASSWORD: password
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:Menjalankan Layanan Anda
Untuk menjalankan semua layanan yang didefinisikan dalam file docker-compose.yml, gunakan perintah docker compose up.
Flag -d menjalankan kontainer dalam mode "terpisah", artinya kontainer berjalan di latar belakang.
# This command starts your multi-service app
# and runs it in the background.
docker compose up -dMemverifikasi Kontainer yang Berjalan
Setelah menjalankan docker compose up -d, Anda perlu memeriksa apakah semua layanan berjalan sesuai harapan.
Perintah docker compose ps menampilkan daftar layanan, statusnya, dan portnya.
# Check the status of your services
docker compose psMenghubungkan ke Aplikasi Anda
Setelah layanan berjalan, Anda dapat mengakses aplikasi web Anda.
- Buka peramban web Anda.
- Buka
http://localhost:5000.
Anda seharusnya melihat pesan dari aplikasi Flask kita yang mengonfirmasi koneksinya ke basis data PostgreSQL!
Menskalakan Layanan
Salah satu fitur Docker Compose yang sangat bermanfaat adalah penskalaan layanan. Jika aplikasi web Anda perlu menangani lebih banyak lalu lintas, Anda dapat dengan mudah menambah jumlah instans layanan web.
Gunakan flag --scale bersama docker compose up.
# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -dMenghentikan & Menghapus Layanan
Setelah selesai menggunakan aplikasi, Anda dapat menghentikan dan menghapus semua layanan beserta jaringan yang didefinisikan dalam docker-compose.yml.
Perintah docker compose down menangani pembersihan ini untuk Anda.
# Stop and remove all services
docker compose downPemeriksaan Singkat
Perhatikan docker-compose.yml yang kita gunakan. Anda baru saja menjalankan aplikasi dengan docker compose up -d.
Apa perintah utama untuk menghentikan dan menghapus semua layanan yang sedang berjalan beserta sumber daya terkaitnya?
Ringkasan & Langkah Berikutnya
Bagus! Anda telah mempelajari cara menerapkan dan mengelola aplikasi dengan banyak layanan menggunakan Docker Compose.
- Kita mendefinisikan layanan dalam
docker-compose.yml. - Kita menggunakan
docker compose up -duntuk menjalankan layanan. - Kita memverifikasi status dengan
docker compose ps. - Kita menskalakan layanan dan menggunakan
docker compose downuntuk melakukan pembersihan.
Ini merupakan keterampilan dasar untuk pengembangan lokal dan pengujian aplikasi yang kompleks!
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menerapkan Aplikasi Multi-Layanan” gratis?
Ya — teks lengkap “Menerapkan Aplikasi Multi-Layanan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menerapkan Aplikasi Multi-Layanan”?
Terapkan aplikasi full-stack dengan basis data dan layanan backend menggunakan Docker Compose. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Menerapkan Aplikasi Multi-Layanan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Apa Itu Docker Compose?
- Menulis Berkas Compose
- Menerapkan Aplikasi Multi-Layanan
- Variabel Lingkungan dan File .env