Nowy kurs: Docker od podstaw. Zarządzaj kontenerami i twórz własne obrazy.

Docker w praktyce: Stworzenie aplikacji webowej z kontenerami

Kacper Sieradziński
Kacper Sieradziński
17 marca 20252 min czytania

Tworzenie aplikacji webowej w Pythonie i uruchamianie jej w kontenerze Docker to świetny sposób na zrozumienie podstaw technologii kontenerowych i ich zastosowania w praktyce. W tym artykule pokażę krok po kroku, jak zbudować prostą stronę w Pythonie przy użyciu frameworka Flask, a następnie uruchomić ją w kontenerze Docker. Dowiesz się, jak przygotować Dockerfile i użyć Docker Compose do zarządzania aplikacją.

Obraz główny Docker w praktyce: Stworzenie aplikacji webowej z kontenerami

Zobacz też

Wybór frameworka: Flask

Flask to lekki framework dla aplikacji webowych w Pythonie, idealny do mniejszych projektów i nauki. Umożliwia szybkie prototypowanie i łatwą konfigurację.

Instalacja Flask

Najpierw stwórz nowy katalog, który będzie zawierał Twoją aplikację, np. my_flask_app. Następnie utwórz w nim plik app.py z kodem aplikacji.

1mkdir my_flask_app 2cd my_flask_app 3

Zainstaluj Flask wirtualnym środowisku. Dzięki temu unikniesz potencjalnych konfliktów między zależnościami.

1python3 -m venv venv 2source venv/bin/activate 3pip install Flask 4

Kod aplikacji Flask

W pliku app.py umieść prosty kod aplikacji:

1from flask import Flask 2 3app = Flask(__name__) 4 5@app.route('/') 6def hello_world(): 7 return 'Hello, World!' 8 9if __name__ == '__main__': 10 app.run(host='0.0.0.0', port=5000) 11

Konfiguracja Dockera

Tworzenie Dockerfile

Dockerfile to plik tekstowy, który definiuje, jak skonfigurować obraz Dockerowy zawierający naszą aplikację. Utwórz plik o nazwie Dockerfile w katalogu my_flask_app z następującą treścią:

1# Używamy oficjalnego obrazu Python jako podstawy 2FROM python:3.8-slim 3 4# Ustawiamy katalog roboczy 5WORKDIR /app 6 7# Kopiujemy plik requirements.txt i instalujemy zależności 8COPY requirements.txt ./ 9RUN pip install --no-cache-dir -r requirements.txt 10 11# Kopiujemy kod aplikacji 12COPY app.py . 13 14# Określamy, jak uruchomić aplikację 15CMD ["python", "app.py"] 16

Tworzenie pliku requirements.txt

Ten plik zawiera wszystkie zależności, które są wymagane do uruchomienia aplikacji. W naszej prostej aplikacji wystarczy jedna linia:

Flask==2.0.1

Uruchamianie aplikacji w kontenerze

Aby zbudować i uruchomić aplikację w kontenerze, używamy poniższych komend:

1docker build -t my_flask_app . 2docker run -p 5000:5000 my_flask_app 3

To polecenie uruchomi naszą aplikację na porcie 5000. Aby zweryfikować działanie, otwórz przeglądarkę i przejdź na adres http://localhost:5000.

Docker Compose dla zarządzania aplikacją

Docker Compose umożliwia łatwe zarządzanie aplikacjami składającymi się z wielu kontenerów. Stwórz plik docker-compose.yml:

1version: '3' 2services: 3 web: 4 build: . 5 ports: 6 - "5000:5000" 7

Następnie uruchom aplikację za pomocą jednego polecenia:

1docker-compose up 2

Podsumowanie i dalsze kroki

Tworzenie i uruchamianie aplikacji webowej w Dockerze jest proste i efektywne. Ta umiejętność pozwala na tworzenie skalowalnych, łatwych do wdrożenia aplikacji. Zachęcam do eksperymentowania z dodawaniem nowych funkcji oraz poznawania bardziej zaawansowanych możliwości Docker Compose.

Tagi

#Python#Nauka programowania#Podstawy

Zapisz się na nasz newsletter

Otrzymuj regularne aktualizacje, specjalne oferty i porady od ekspertów, które pomogą Ci osiągnąć więcej w krótszym czasie.