Django Academy · Lekcja

docker-compose z Postgres i Redis

Uruchamianie całego stosu jednym poleceniem

Lekcja 2 z 413 kroki

docker-compose z Postgres i Redis to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.

Jedno polecenie, cały stos

docker-compose definiuje wiele kontenerów w jednym pliku, dzięki czemu Django, Postgres i Redis uruchamiają się razem za pomocą jednego polecenia. 🧩

Plik compose

Wszystko znajduje się w pliku docker-compose.yml, w którym każdy potrzebny kontener staje się wpisem pod kluczem services.

services:
  web:
  db:
  redis:

Usługa web

Usługa web jest budowana na podstawie Dockerfile i uruchamia Django — serce całego stosu.

web:
  build: .
  command: gunicorn config.wsgi:application --bind 0.0.0.0:8000

Dodaj Postgres

Usługa db korzysta z oficjalnego obrazu Postgres, zapewniając prawdziwą bazę danych bez konieczności instalowania czegokolwiek lokalnie.

db:
  image: postgres:16

Dodaj Redis

Usługa redis uruchamia oficjalny obraz Redis, gotowy do działania jako pamięć podręczna lub broker komunikatów Celery.

redis:
  image: redis:7

Łącz się za pomocą nazwy usługi

Compose nadaje każdej usłudze nazwę DNS, dzięki czemu Django łączy się z Postgres pod hostem db, a nie localhost.

DATABASE_URL=postgres://user:pass@db:5432/app

Zaczekaj za pomocą depends_on

Proszę użyć depends_on, aby web uruchamiał się po db i redis, zachowując prawidłową kolejność startu.

web:
  depends_on:
    - db
    - redis

Zachowaj dane za pomocą woluminów

Imienny wolumin przechowuje dane Postgres poza kontenerem, dzięki czemu rekordy przetrwają ponowne uruchomienia i przebudowy.

db:
  volumes:
    - pgdata:/var/lib/postgresql/data

Przekazuj konfigurację jako zmienne środowiskowe

Proszę przekazywać sekrety i ustawienia przez environment lub env_file, aby konfiguracja nie trafiała do obrazu.

db:
  environment:
    POSTGRES_DB: app
    POSTGRES_PASSWORD: pass

Mapuj porty na hosta

Klucz ports przekazuje port kontenera na Państwa komputer, dzięki czemu można otworzyć aplikację w przeglądarce.

web:
  ports:
    - "8000:8000"

Uruchom wszystko

Uruchom docker compose up, aby uruchomić cały stos jednocześnie; dodaj -d, aby uruchomić go w tle.

docker compose up -d

Szybkie sprawdzenie

Jak kontener webowy łączy się z bazą danych w Compose?

Podsumowanie

Skonfigurowałeś cały stos w docker-compose: usługi web, db i redis połączone za pomocą nazw, wolumeny na dane oraz jedno polecenie uruchamiające całość. 🚀

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „docker-compose z Postgres i Redis” jest bezpłatna?

Tak — pełny tekst „docker-compose z Postgres i Redis” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „docker-compose z Postgres i Redis”?

Uruchamianie całego stosu jednym poleceniem Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Django Academy?

Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „docker-compose z Postgres i Redis”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?

Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Pisanie Dockerfile dla Django
  2. docker-compose z Postgres i Redis
  3. Entrypointy, migracje i collectstatic
  4. Dobre praktyki dotyczące obrazu produkcyjnego
← Powrót do Django Academy