Docker w praktyce: Stworzenie aplikacji webowej z kontenerami

Kacper Sieradziński
Kacper Sieradziński
17 marca 2025Edukacja2 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
Kurs Docker od podstaw

Kurs Docker od podstaw

Naucz się Dockera od zera! Kontenery, obrazy, Docker Compose i wdrożenia w praktyce. Kompletny kurs z zadaniami.

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.

Bash
1 2 mkdir my_flask_app cd my_flask_app

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

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

Kod aplikacji Flask

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

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

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ą:

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

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:

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

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:

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

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

Bash
1 docker-compose up

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