Membuat Environment Flask Framework dengan Docker Compose

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Membuat Environment Flask Framework dengan Docker Compose

Docker Compose adalah alat yang digunakan untuk mendefinisikan dan menjalankan aplikasi Docker yang terdiri dari beberapa container.


Dengan Docker Compose, Anda dapat mengatur dan mengelola berbagai container yang saling terkait dalam sebuah aplikasi kompleks menjadi lebih mudah.


Ingin tau lebih jauh tentang docker compose, baca tutorial berikut : Mengenal apa itu docker compose dan keuntunganya.


Lalu bagaimana cara menggunakan docker compose pada flask project ?


Berikut langkah-langkah untuk membuat projek Flask dengan Docker Compose:

A) Persiapan



  • Pastikan Anda sudah memiliki Docker dan Docker Compose terinstal di sistem Anda.


B) Langkah 1: Struktur Projek



  1. Buat folder baru untuk projek Anda (misalnya: flask-docker-project).

  2. Di dalam folder projek, buat subfolder berikut:

    • app: Folder ini akan berisi kode aplikasi Flask Anda.

    • docker: Folder ini akan berisi file konfigurasi Docker (Dockerfile) dan Docker Compose (docker-compose.yml).




C) Langkah 2: Membuat Kode Flask (app/app.py)



  1. Buat file baru bernama app.py di dalam folder app.

  2. Tambahkan kode Flask sederhana berikut ke dalam file app.py:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello, Dockerized Flask!'

if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')

 

Penjelasan kode:


  • Flask diimport dan objek aplikasi Flask dibuat.

  • Dekorator @app.route('/') mendefinisikan rute untuk path /.

  • Fungsi hello_world() mengembalikan pesan "Hello, Dockerized Flask!".

  • app.run() dijalankan untuk menjalankan server Flask dalam mode debug.


D) Langkah 3: Membuat Dockerfile (docker/Dockerfile)



  1. Buat file baru bernama Dockerfile di dalam folder docker.

  2. Tambahkan kode berikut ke dalam file Dockerfile:

FROM python:3.9

WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

CMD ["python", "app.py"]

 

Penjelasan kode:


  • Baris FROM python:3.9 menspesifikasikan image dasar yang digunakan, yaitu image Python 3.9.

  • WORKDIR /app menetapkan direktori kerja di dalam container menjadi /app.

  • Baris COPY requirements.txt . dan RUN pip install -r requirements.txt menyalin file requirements.txt (yang berisi dependensi Python) ke dalam container dan menginstalnya menggunakan pip.

  • COPY . . menyalin semua isi direktori saat ini (termasuk kode Flask Anda) ke dalam container pada direktori /app.

  • CMD ["python", "app.py"] menetapkan perintah yang dijalankan ketika container dimulai, yaitu menjalankan app.py dengan Python.


E) Langkah 4: Membuat File docker-compose.yml (docker/docker-compose.yml)



  1. Buat file baru bernama docker-compose.yml di dalam folder docker.

  2. Tambahkan kode berikut ke dalam file docker-compose.yml:

version: '3.8'

services:
flask-app:
build: .
ports:
- "5000:5000"
volumes:
- ./app:/app

Penjelasan kode:


  • Baris version: '3.8' menspesifikasikan versi format file docker-compose.yml.

  • Bagian services mendefinisikan layanan yang akan dijalankan dengan Docker Compose.

  • Di bawah services, didefinisikan layanan bernama flask-app.

  • build: . menginstruksikan Docker Compose untuk membangun image Docker dari Dockerfile yang berada di direktori saat ini.

  • ports: - "5000:5000" memetakan port 5000 di container ke port 5000 di host Anda. Ini memungkinkan Anda untuk mengakses aplikasi Flask melalui browser di http://localhost:5000.

  • volumes: - ./app:/app mendefinisikan volume yang akan menautkan direktori app di host Anda dengan direktori /app di dalam container. Perubahan pada kode Flask Anda di direktori app akan langsung terlihat di dalam container tanpa perlu membangun kembali image Docker.


F) Langkah 5: Menjalankan Projek



  1. Buka terminal di direktori projek Anda ( flask-docker-project).

  2. Jalankan perintah berikut untuk membangun image Docker dan menjalankan layanan Flask dengan Docker Compose:


docker-compose up -d

Penjelasan code:

  • -d flag memberitahu Docker Compose untuk menjalankan layanan di background.


G) Langkah 6: Akses Aplikasi Flask


Buka browser Anda : http://localhost:5000

H) Video Tutorial



Baca artikel lainya :