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:
- Zainstalowany interpreter Pythona na Twoim komputerze (zalecana jest wersja 3.11 i nowsza)
- Zainstalowany silnik Docker na komputerze hosta (zalecana jest wersja 23 i nowsza)
- 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 Kolbaaplikacja = 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 DockerEdytuj 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łyKATALOG 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.3W 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 kolbPowinno 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.