Kastel Terpencil di Dalam CerminKokoro merasa terusir dari kelasnya sendiri hingga ia mengurung diri di rumah dan menolak pergi ke sekolah. Pada suatu hari, cermin di dalam kamarnya mengeluarkan cahaya terang. Dan di dalam cermin tersebut ada bangunan misterius yang mirip sebuah kastel. Buy |
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:
flask-docker-project
).app
: Folder ini akan berisi kode aplikasi Flask Anda.docker
: Folder ini akan berisi file konfigurasi Docker (Dockerfile) dan Docker Compose (docker-compose.yml).app.py
di dalam folder app
.app.py
:from flask import Flaskapp = 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:
@app.route('/')
mendefinisikan rute untuk path /
.hello_world()
mengembalikan pesan "Hello, Dockerized Flask!".app.run()
dijalankan untuk menjalankan server Flask dalam mode debug.Dockerfile
di dalam folder docker
.Dockerfile
:FROM python:3.9WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txtCOPY . .
CMD ["python", "app.py"]
Penjelasan kode:
FROM python:3.9
menspesifikasikan image dasar yang digunakan, yaitu image Python 3.9.WORKDIR /app
menetapkan direktori kerja di dalam container menjadi /app
.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.docker-compose.yml
di dalam folder docker
.docker-compose.yml
:version: '3.8'services:
flask-app:
build: .
ports:
- "5000:5000"
volumes:
- ./app:/app
Penjelasan kode:
version: '3.8'
menspesifikasikan versi format file docker-compose.yml.services
mendefinisikan layanan yang akan dijalankan dengan Docker Compose.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.flask-docker-project
).docker-compose up -d
-d
flag memberitahu Docker Compose untuk menjalankan layanan di background.