0Pricing
Django Academy · บทเรียน

docker-compose พร้อม Postgres และ Redis

เรียกใช้ทั้งสแต็กด้วยคำสั่งเดียว

docker-compose พร้อม Postgres และ Redis เป็นบทเรียน Django Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Django Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

One Command, Whole Stack

docker-compose defines many containers in one file, so Django, Postgres, and Redis start together with a single command. 🧩

The compose File

Everything lives in docker-compose.yml, where each container you need becomes an entry under the services key.

services:
  web:
  db:
  redis:

The web Service

Your web service builds from your Dockerfile and runs Django, the heart of the whole stack.

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

Add Postgres

The db service uses the official Postgres image, giving you a real database without installing anything locally.

db:
  image: postgres:16

Add Redis

The redis service runs the official Redis image, ready to act as a cache or a Celery message broker.

redis:
  image: redis:7

Connect by Service Name

Compose gives each service a DNS name, so Django reaches Postgres at the host db, not localhost.

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

Wait with depends_on

Use depends_on so web starts after db and redis, keeping your startup order sane.

web:
  depends_on:
    - db
    - redis

Persist Data with Volumes

A named volume stores Postgres data outside the container, so your rows survive restarts and rebuilds.

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

Pass Configuration as Env

Feed secrets and settings through environment or an env_file, keeping config out of your image.

db:
  environment:
    POSTGRES_DB: app
    POSTGRES_PASSWORD: pass

Map Ports to Your Host

The ports key forwards a container port to your machine, so you can open the app in a browser.

web:
  ports:
    - "8000:8000"

Bring It All Up

Run docker compose up and the entire stack boots together; add -d to run it in the background.

docker compose up -d

Quick Check

How does your web container reach the database in Compose?

Recap

You wired a full stack in docker-compose: web, db, and redis services, connected by name, with volumes for data and one command to launch. 🚀

คำถามที่พบบ่อย

บทเรียน “docker-compose พร้อม Postgres และ Redis” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “docker-compose พร้อม Postgres และ Redis” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Django Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Django Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “docker-compose พร้อม Postgres และ Redis”

เรียกใช้ทั้งสแต็กด้วยคำสั่งเดียว คุณปฏิบัติ Django Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Django Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Django Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “docker-compose พร้อม Postgres และ Redis” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Django Academy นี้ได้ไหม

ได้ บทเรียน Django Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเขียน Dockerfile สำหรับ Django
  2. docker-compose พร้อม Postgres และ Redis
  3. จุดเริ่มต้น การย้ายข้อมูล และ collectstatic
  4. แนวทางปฏิบัติที่ดีสำหรับอิมเมจใช้งานจริง
← กลับไปที่ Django Academy