Python Flask w Dockerze

Python Flask W Dockerze



W tym samouczku nauczymy się, jak konteneryzować aplikację Python Flask za pomocą Dockera.

Konteneryzacja to niesamowita funkcja, która pozwala nam programistom spakować aplikację wraz z wymaganymi zależnościami w jedną jednostkę. Następnie możemy przenieść kontener i wdrożyć aplikację w różnych środowiskach, nie martwiąc się o kompatybilność.

Co to jest kolba?

Flask to minimalistyczny i lekki framework mikro sieciowy dla Pythona. Zapewnia niezbędne funkcje i biblioteki wymagane do zbudowania lekkiej aplikacji internetowej przy użyciu języka Python.







Flask jest zgodny z interfejsem bramy serwera WWW lub standardem WSGI, co pozwala nam zastosować minimalistyczny projekt z elastycznym wzorem, który może obsłużyć żądanie HTTP i inne funkcje. Na przykład Flask obsługuje funkcje internetowe, takie jak routing, bazy danych i inne.



Warunki wstępne:

Aby postępować zgodnie z kodem i poleceniami zawartymi w tym samouczku, upewnij się, że masz następujące narzędzia:



  1. Zainstalowany interpreter Pythona na Twoim komputerze (zalecana jest wersja 3.11 i nowsza)
  2. Zainstalowany silnik Docker na komputerze hosta (zalecana jest wersja 23 i nowsza)
  3. Edytor tekstu lub wybrane IDE

Po spełnieniu podanych wymagań możemy kontynuować ten samouczek.





Utwórz aplikację Flask

Jak można się domyślić, pierwszym krokiem jest utworzenie aplikacji w Pythonie, którą chcemy konteneryzować. W naszym przypadku zademonstrujemy to za pomocą minimalistycznej aplikacji, która drukuje „witaj świecie”.

Utwórz nowy katalog do przechowywania kodu źródłowego projektu i utwórz plik Pythona o nazwie „app.py”.



Edytuj plik „app.py” za pomocą ulubionego edytora tekstu lub IDE i dodaj kod swojej aplikacji w następujący sposób:

z kolba import Kolba

aplikacja = Kolba ( __nazwa__ )
@ aplikacja. trasa ( „/” )
def Witaj świecie ( ) :
powrót

Witaj, świecie!”

Utwórz plik Dockerfile

Następnie musimy zdefiniować instrukcje, które pozwolą nam spakować aplikację jako obraz Dockera. Używamy pliku Dockerfile, który zawiera wszystkie instrukcje i narzędzia do konfiguracji obrazu.

W tym samym katalogu co „hello.py” utwórz nowy plik o nazwie „Dockerfile” bez rozszerzenia. Uruchom następujące polecenie:

$ dotknij pliku Docker

Edytuj plik i dodaj kod w następujący sposób:

Użyj oficjalnego obrazu języka Python jako obrazu podstawowego.

Z Pythona: 3.12 -rc-szczupły
KATALOG PRACY /aplikacja
KOPIUJ . /aplikacja
# Zainstaluj Flask
URUCHOM instalację pip --no-cache- Ty -r wymagania. tekst
# Udostępnij port 5000 dla aplikacji Flask
UJAWNIĆ 5000
# uruchom aplikację Flask
CMD [ 'pyton' , „aplikacja.py” ]

Poprzedni plik Dockerfile wykonuje następujące operacje:

  • Używa oficjalnego cienkiego obrazu Pythona 3.12 jako obrazu podstawowego
  • Ustawia katalog roboczy wewnątrz kontenera na „/app”
  • Kopiuje zawartość katalogu projektu do kontenera
  • Instaluje Flask i wszelkie inne zależności, uruchamiając „pip install” przy użyciu pliku „requirements.txt”
  • Udostępnia port 5000 dla aplikacji Flask
  • Definiuje polecenie umożliwiające uruchomienie aplikacji Flask

Upewnij się, że plik „requirements.txt” istnieje w katalogu projektu i dodaj zawartość pliku, jak pokazano poniżej:

Kolba == 2.3.3

W tym przypadku określamy, że chcemy zainstalować wersję Flask 2.3.3.

Zbuduj obraz platformy Docker

Teraz, gdy mamy już aplikację Flask i plik Dockerfile, możemy kontynuować i zbudować obraz za pomocą następującego polecenia:

docker build -t flask-docker-app .

Przed uruchomieniem poprzedniego polecenia upewnij się, że jesteś w katalogu projektu. Możesz zastąpić aplikację flask-docker-app nazwą, którą chcesz przypisać do swojego obrazu.

Uruchom kontener Docker

Po zbudowaniu obrazu Dockera możemy uruchomić kontener na podstawie obrazu za pomocą polecenia „docker run” w następujący sposób:

uruchomienie okna dokowanego -p 5000 : 5000 aplikacja dokująca do kolb

Powinno to utworzyć kontener i zamapować port 5000 z kontenera na port 5000 w systemie hosta.

Po wykonaniu otwórz przeglądarkę i przejdź do http://localhost:5000 .

Powinieneś zobaczyć komunikat „Hello, World!” wiadomość z aplikacji Flask.

Wniosek

W tym samouczku nauczyłeś się konteneryzować prostą aplikację Python Flask przy użyciu Dockera.