Buat aplikasi web Flask dengan Docker

Buat aplikasi web Flask dengan Docker
Flask adalah framework web populer untuk membuat aplikasi web dengan Python. Docker adalah platform yang memungkinkan pengembang untuk mengemas dan menyebarkan aplikasi dalam wadah. Dalam tutorial ini, kita akan membahas langkah-langkah untuk membuat aplikasi web Flask menggunakan Docker.
Prasyarat
Sebelum memulai, Anda harus menginstal Docker di mesin Anda. Anda dapat mengunduh versi yang sesuai untuk sistem operasi Anda dari situs web resmi Docker. Juga, akan membantu jika Anda memiliki pemahaman dasar tentang Flask dan Python.
Membuat Aplikasi Flask
Langkah pertama adalah membuat aplikasi Flask. Kami akan membuat “Halo, Dunia!” aplikasi untuk tutorial ini. Buat file baru bernama app.py
dan tambahkan kode berikut:
from flask import Flask
app = Flask(__name__)
@app.route("
def hello():
return 'Hello, World!'
Simpan file dan arahkan ke direktorinya di terminal.
Membuat Dockerfile
Langkah selanjutnya adalah membuat Dockerfile. Dockerfile adalah skrip yang menjelaskan lingkungan tempat aplikasi akan berjalan. Kami akan menggunakan gambar resmi Python 3.8 sebagai gambar dasar untuk wadah Docker kami.
FROM python:3.8-slim-buster
: Ini mengatur gambar dasar wadah Docker kami ke gambar resmi Python 3.8.WORKDIR /app
: Ini menyetel direktori kerja di dalam wadah ke/app
.COPY requirements.txt .
: Ini menyalinrequirements.txt
file dari mesin lokal kami ke/app
direktori di dalam wadah.RUN pip install --no-cache-dir -r requirements.txt
: Ini menginstal dependensi yang terdaftar direquirements.txt
.COPY . .
: Ini menyalin seluruh direktori lokal ke dalam/app
direktori di dalam wadah.CMD [ "python", "app.py" ]
: Ini mengatur perintah untuk dijalankan ketika wadah mulaipython app.py
.
Buat file baru bernama Dockerfile
dan tambahkan kode berikut:
FROM python:3.8-slim-buster
# Set the working directory
WORKDIR /app
# Install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the application code
COPY . .
# Run the application
CMD [ "python", "app.py" ]
Simpan Dockerfile dan arahkan ke direktorinya di terminal.
Bangun gambar Docker
Langkah selanjutnya adalah membuat image Docker dari Dockerfile. Jalankan perintah berikut untuk membuat gambar:
docker build -t my-flask-app .
Perintah ini membangun sebuah gambar bernama my-flask-app
dari Dockerfile di direktori saat ini. ITU .
di akhir perintah menentukan bahwa konteks build adalah direktori saat ini.
Memulai wadah Docker
Sekarang kita memiliki gambar Docker, kita dapat memulai wadah darinya. Jalankan perintah berikut untuk memulai wadah baru dari my-flask-app
gambar dan petakan port 5000 pada host ke port 5000 dalam wadah:
docker run -p 5000:5000 my-flask-app
Perintah ini memulai wadah baru dari my-flask-app
image dan memetakan port 5000 di host ke port 5000 di container.
Tes aplikasi vial
Terakhir, buka browser web Anda dan arahkan ke http://localhost:5000
. Anda akan melihat pesan “Halo, Dunia!” pesan yang ditampilkan di browser Anda, menunjukkan bahwa aplikasi Flask sedang berjalan di aplikasi docker.
Menyesuaikan aplikasi Flask
Anda dapat menyesuaikan aplikasi Flask dengan mengubah app.py
mengajukan dan membangun kembali citra Docker. Misalnya, Anda dapat mengubah hello
fungsi untuk mengembalikan pesan yang berbeda:
@app.route("
def hello():
return 'Welcome to my Flask application!'
Selamatkan app.py
file dan bangun kembali gambar Docker menggunakan docker build
pesanan sebelumnya. Setelah gambar dibuat, mulai wadah baru menggunakan docker run
pesanan sebelumnya. Saat Anda menavigasi ke http://localhost:5000
Anda akan melihat pesan yang diperbarui ditampilkan di browser Anda.
Manfaat
- Docker menyederhanakan proses pembuatan dan penerapan aplikasi Flask karena ia menyediakan lingkungan yang konsisten dan dapat diulang di berbagai mesin dan sistem operasi.
- Docker memungkinkan ketergantungan dan manajemen versi yang mudah, karena semua yang diperlukan untuk menjalankan aplikasi terdapat di dalam image Docker.
- Docker memudahkan penskalaan dan penerapan aplikasi Flask, memungkinkan wadah baru dibuat dengan cepat dan mudah.
Kekurangan
- Docker menambahkan lapisan ekstra kompleksitas pada proses pengembangan dan penerapan, yang dapat memerlukan waktu dan upaya ekstra untuk mempelajari dan mengonfigurasi.
- Docker mungkin tidak diperlukan untuk aplikasi Flask yang kecil atau sederhana, karena manfaatnya mungkin tidak lebih besar daripada biaya tambahan dan konfigurasi.
- Gambar dan wadah Docker dapat menghabiskan banyak ruang disk, yang dapat memengaruhi aplikasi dengan ketergantungan besar atau mesin dengan kapasitas penyimpanan terbatas.
Kesimpulan
Dalam tutorial ini, kami membahas langkah-langkah untuk membuat aplikasi web Flask menggunakan Docker. Kami membuat aplikasi Flask sederhana, menulis Dockerfile untuk mendeskripsikan lingkungan tempat aplikasi akan dijalankan, membuat image Docker dari Dockerfile, memulai container Docker dari image, dan menguji aplikasi Flask di dalam container. Dengan Docker, Anda dapat dengan mudah mengemas dan menerapkan aplikasi Flask Anda dengan cara yang konsisten dan dapat diulang, membuatnya lebih mudah untuk mengelola dan menskalakan aplikasi Anda.