Flask ile uygulama geliştiren bir yazılımcıysanız, uygulamanızın yönetilebilirliği ve taşınabilirliği en önemli önceliklerinizden biridir. Flask, hafifliği ve esnekliği ile ünlüdür, ancak geliştirilen uygulamaların dağıtımı ve yönetimi her zaman bir zorluk olabilir. İşte tam da bu noktada Docker devreye giriyor. Docker ile uygulamalarınızı konteynerlerde çalıştırmak, uygulama yaşam döngüsünü çok daha kolay ve verimli hale getiriyor.
Docker ile Flask Uygulaması Nasıl Çalıştırılır?
# Adım 1: Docker'ı Yükleyin
# Adım 2: Flask Uygulamasını Hazırlayın
```python
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Merhaba Docker ve Flask!'
if __name__ == '__main__':
app.run(debug=True)
```
Bu küçük Flask uygulaması, kullanıcıları "Merhaba Docker ve Flask!" mesajıyla selamlıyor.
# Adım 3: Dockerfile Oluşturun
Bir `Dockerfile` şu şekilde olabilir:
```Dockerfile
# Python 3.9 tabanlı resmi Docker imajını kullanıyoruz
FROM python:3.9-slim
# Çalışma dizinini belirliyoruz
WORKDIR /app
# Gereksinimlerinizi içeren requirements.txt dosyasını konteynere kopyalıyoruz
COPY requirements.txt .
# Flask'ı ve diğer bağımlılıkları yüklüyoruz
RUN pip install -r requirements.txt
# Uygulamayı kopyalıyoruz
COPY . .
# Flask uygulamasını çalıştıran komutu belirtiyoruz
CMD ["python", "app.py"]
```
Bu `Dockerfile`, Flask uygulamanız için temel bir yapı sağlayacak. Şimdi, `requirements.txt` dosyasına Flask'ı eklemeyi unutmayın.
```text
Flask==2.0.2
```
# Adım 4: Docker İmajını Oluşturun
```bash
docker build -t flask-app .
```
Bu komut, Dockerfile dosyanızın içeriğine göre bir imaj oluşturacak ve buna `flask-app` adını verecektir.
# Adım 5: Docker Konteynerini Çalıştırın
```bash
docker run -p 5000:5000 flask-app
```
Bu komut, uygulamanızın 5000 numaralı portta çalışmasını sağlayacak. Şimdi tarayıcınızda `http://localhost:5000` adresine giderek uygulamanızın çalıştığını görebilirsiniz.
Docker’ın Sağladığı Avantajlar
1. Taşınabilirlik: Docker konteynerleri, uygulamanızın tüm bağımlılıklarıyla birlikte taşınabilir hale gelir. Bu sayede, uygulamanızı farklı ortamlarda çalıştırmak çok kolaydır.
2. İzolasyon: Flask uygulamanızın bağımlılıkları ve diğer uygulamalardan bağımsız olarak çalışmasını sağlarsınız. Böylece, başka bir yazılımın neden olduğu çakışmalar ortadan kalkar.
3. Verimli Dağıtım: Uygulamanızı herhangi bir bulut ortamına kolayca taşıyabilir ve orada hızlıca çalıştırabilirsiniz.
Sonuç: Flask ve Docker ile Güçlü Bir Web Uygulaması Geliştirme
Uygulamanızla ilgili herhangi bir sorunuz varsa, yorumlar kısmında benimle paylaşabilirsiniz!
---