Django Academy · Oppitunti

docker-compose Postgresin ja Redisin kanssa

Suorita koko pino yhdellä komennolla

Oppitunti 2/413 vaihetta

docker-compose Postgresin ja Redisin kanssa on ilmainen Django Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Django Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Django Academy-kurssilla on yhteensä 4 oppituntia.

Yksi komento, koko pino

docker-compose määrittää useita säilöjä yhdessä tiedostossa, joten Django, Postgres ja Redis käynnistyvät yhdessä yhdellä komennolla. 🧩

compose-tiedosto

Kaikki sijaitsee docker-compose.yml-tiedostossa, jossa jokainen tarvittava säilö määritetään services-avaimen alle omaksi kohdakseen.

services:
  web:
  db:
  redis:

web-palvelu

web-palvelu rakennetaan Dockerfile-tiedoston perusteella, ja se suorittaa Djangoa, koko pinon ydintä.

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

Lisätkää Postgres

db-palvelu käyttää virallista Postgres-näköistiedostoa, joten saatte oikean tietokannan ilman paikallista asennusta.

db:
  image: postgres:16

Lisätkää Redis

redis-palvelu suorittaa virallista Redis-näköistiedostoa ja on valmis toimimaan välimuistina tai Celery-viestinvälittäjänä.

redis:
  image: redis:7

Yhdistäkää palvelun nimellä

Compose antaa jokaiselle palvelulle DNS-nimen, joten Django tavoittaa Postgresin isäntänimellä db, ei localhostilla.

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

Odottakaa depends_on-määrityksellä

Käyttäkää depends_on-määritystä, jotta web käynnistyy db:n ja redisin jälkeen ja käynnistysjärjestys pysyy järkevänä.

web:
  depends_on:
    - db
    - redis

Säilyttäkää tiedot taltioilla

Nimetty volume tallentaa Postgresin tiedot säilön ulkopuolelle, joten rivit säilyvät uudelleenkäynnistysten ja uudelleenkoontien jälkeen.

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

Välittäkää asetukset ympäristömuuttujina

Välittäkää salaisuudet ja asetukset environment-määrityksen tai env_file-tiedoston kautta ja pitäkää asetukset poissa näköistiedostosta.

db:
  environment:
    POSTGRES_DB: app
    POSTGRES_PASSWORD: pass

Yhdistäkää portit isäntäkoneeseen

ports-avain välittää säilön portin koneellenne, jotta voitte avata sovelluksen selaimessa.

web:
  ports:
    - "8000:8000"

Käynnistäkää kaikki

Suorita docker compose up, niin koko pino käynnistyy yhdessä. Lisää -d, jos haluat suorittaa sen taustalla.

docker compose up -d

Pikatarkistus

Miten web-konttisi muodostaa Compose-ohjelmassa yhteyden tietokantaan?

Yhteenveto

Yhdistit kokonaisen pinon tiedostossa docker-compose: web-, db- ja redis-palvelut, jotka on yhdistetty nimien avulla, datalle määritetyt taltiot sekä yksi komento käynnistämistä varten. 🚀

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”docker-compose Postgresin ja Redisin kanssa” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Django Academy-oppimispolun 3 oppituntia, myös oppitunnin “docker-compose Postgresin ja Redisin kanssa”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Django Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”docker-compose Postgresin ja Redisin kanssa”?

Suorita koko pino yhdellä komennolla Harjoittelet Django Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Django Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Django Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”docker-compose Postgresin ja Redisin kanssa”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Django Academy-oppitunnilla?

Kyllä. Jokainen Django Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Django Dockerfilen kirjoittaminen
  2. docker-compose Postgresin ja Redisin kanssa
  3. Entrypointit, migraatiot ja collectstatic
  4. Tuotantoimagejen parhaat käytännöt
← Takaisin: Django Academy