Docker'da Python Şişesi

Docker Da Python Sisesi



Bu eğitimde, Docker kullanarak bir Python Flask uygulamasını nasıl kapsayıcıya aktaracağımızı öğreneceğiz.

Konteynerleştirme, geliştiricilerin bir uygulamayı gerekli bağımlılıklarla birlikte tek bir birimde paketlemesine olanak tanıyan epik bir özelliktir. Daha sonra konteyneri taşıyabilir ve uyumluluk konusunda endişelenmemize gerek kalmadan uygulamayı farklı ortamlara dağıtabiliriz.

Şişe Nedir?

Flask, Python için minimalist ve hafif bir mikro web çerçevesidir. Python dilini kullanarak hafif web uygulamasını oluşturmak için gereken temel özelliği ve kitaplıkları sağlar.







Flask, HTTP isteğini ve diğer özellikleri işleyebilecek esnek bir düzen ile minimalist bir tasarımı birleştirmemize olanak tanıyan Web Sunucusu Ağ Geçidi Arayüzünü veya WSGI standardını takip eder. Örneğin Flask, yönlendirme, veritabanları ve daha fazlası gibi web özelliklerini destekler.



Önkoşullar:

Bu eğitimde sağlanan kod ve komutları takip etmek için aşağıdaki araçlara sahip olduğunuzdan emin olun:



  1. Makinenizde Python yorumlayıcısının kurulu olması (versiyon 3.11 ve üzeri önerilir)
  2. Ana makineye kurulu Docker motoru (sürüm 23 ve üzeri önerilir)
  3. Seçtiğiniz bir metin düzenleyici veya IDE

Verilen gereksinimler karşılandığında bu eğitime devam edebiliriz.





Flask Uygulamasını Oluşturun

Tahmin edebileceğiniz gibi ilk adım, konteynerize etmek istediğimiz Python uygulamasını oluşturmak. Bizim durumumuz için bunu 'merhaba dünya' yazan minimalist bir uygulamayla gösteriyoruz.

Projenizin kaynak kodunu saklamak için yeni bir dizin oluşturun ve “app.py” adında bir Python dosyası oluşturun.



“app.py”yi favori metin editörünüz veya IDE ile düzenleyin ve uygulamanızın kodunu aşağıdaki gibi ekleyin:

itibaren şişe içe aktarmak Şişe

uygulama = Şişe ( __isim__ )
@ uygulama. rota ( '/' )
kesinlikle Selam Dünya ( ) :
geri dönmek '

Merhaba Dünya!

'

Docker dosyası oluşturma

Daha sonra uygulamayı Docker imajı olarak paketlememizi sağlayacak talimatları tanımlamamız gerekiyor. İmajı kurmak için tüm talimatları ve araçları içeren Dockerfile'ı kullanıyoruz.

“Hello.py” ile aynı dizinde “Dockerfile” adında uzantısı olmayan yeni bir dosya oluşturun. Aşağıdaki komutu çalıştırın:

$ Dockerfile'a dokunun

Dosyayı düzenleyin ve kodu aşağıdaki gibi ekleyin:

Temel görüntü olarak resmi Python görüntüsünü kullanın.

python'DAN: 3.12 -rc-ince
İŞ DİZİNİ /uygulama
KOPYALA . /uygulama
# Flask'ı yükle
Pip kurulumunu RUN --no-cache- Sen -r gereksinimleri. txt
# Flask uygulaması için 5000 numaralı bağlantı noktasını açığa çıkarın
ORTAYA ÇIKARMAK 5000
# Flask uygulamasını çalıştırın
CMD [ 'piton' , 'app.py' ]

Önceki Dockerfile aşağıdaki işlemleri gerçekleştirir:

  • Temel görüntü olarak resmi Python 3.12 ince görüntüsünü kullanır
  • Kabın içindeki çalışma dizinini “/app” olarak ayarlar
  • Proje dizininin içeriğini konteynere kopyalar
  • 'Requirements.txt' dosyasını kullanarak 'pip install' çalıştırarak Flask'ı ve diğer bağımlılıkları yükler
  • Flask uygulaması için 5000 numaralı bağlantı noktasını gösterir
  • Flask uygulamasını çalıştırma komutunu tanımlar

Proje dizininde “requirements.txt” dosyasının bulunduğundan emin olun ve dosyanın içeriğini aşağıda gösterildiği gibi ekleyin:

Şişe == 2.3.3

Bu durumda Flask 2.3.3 versiyonunu kurmak istediğimizi belirtiyoruz.

Docker Görüntüsünü Oluşturun

Artık Flask uygulamamız ve Dockerfile'ımız hazır olduğuna göre aşağıdaki komutla devam edip imajı oluşturabiliriz:

docker build -t flask-docker-app .

Önceki komutu çalıştırmadan önce proje dizininde olduğunuzdan emin olun. flask-docker-app'i, görüntünüze atamak istediğiniz adla değiştirebilirsiniz.

Docker Container'ı çalıştırın

Docker image’ımızı oluşturduğumuzda “docker run” komutunu kullanarak image’a dayalı olarak Container’ı aşağıdaki gibi çalıştırabiliriz:

liman işçisi çalıştırması -p 5000 : 5000 flask-docker-app

Bu, bir konteyner oluşturmalı ve 5000 numaralı bağlantı noktasını konteynerden ana sistemdeki 5000 numaralı bağlantı noktasına eşlemelidir.

Çalıştırıldıktan sonra tarayıcıyı açın ve şuraya gidin: http://localhost:5000 .

“Merhaba Dünya!” Flask uygulamasından mesaj.

Çözüm

Bu eğitimde, Docker kullanarak basit bir Python Flask uygulamasını nasıl kapsayıcıya alacağınızı öğrendiniz.