0Pricing
Docker & DevOps Fundamentals · บทเรียน

การปรับใช้แอปที่มีหลายบริการ

ปรับใช้แอปพลิเคชันแบบฟูลสแตกที่มีฐานข้อมูลและบริการแบ็กเอนด์ด้วย Docker Compose

การปรับใช้แอปที่มีหลายบริการ เป็นบทเรียน Docker & DevOps Fundamentals ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Docker & DevOps Fundamentals และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Docker & DevOps Fundamentals มีบทเรียนทั้งหมด 4 บทเรียน

นำแอปหลายบริการไปใช้งาน

ยินดีต้อนรับ! ในบทเรียนนี้ เราจะเรียนรู้วิธีนำแอปพลิเคชันแบบครบสแต็กขึ้นออนไลน์โดยใช้ Docker Compose

คุณจะได้เห็นวิธีกำหนดบริการหลายรายการ เช่น แอปเว็บและฐานข้อมูล จากนั้นนำไปใช้งานและจัดการร่วมกัน

การปรับใช้แอปที่มีหลายบริการ — ภาพประกอบ 1

ตัวอย่างของเรา: เว็บและฐานข้อมูล

เราจะนำแอปพลิเคชันเว็บอย่างง่ายที่เชื่อมต่อกับฐานข้อมูลไปใช้งาน นี่เป็นการตั้งค่าที่พบได้บ่อยในแอปพลิเคชันจริงจำนวนมาก

  • บริการเว็บ: แอปพลิเคชัน Python Flask ที่ให้บริการหน้าเว็บพื้นฐาน
  • บริการฐานข้อมูล: ฐานข้อมูล PostgreSQL สำหรับจัดเก็บข้อมูล

Docker Compose ทำให้การจัดการบริการทั้งสองรายการนี้เป็นเรื่องง่าย!

สร้างอิมเมจเว็บ

บริการเว็บของเราต้องใช้อิมเมจ Docker ของตัวเอง นี่คือ Dockerfile แบบย่อที่ใช้สร้างแอปพลิเคชัน Python Flask ของเรา

ไฟล์นี้ติดตั้ง Flask และตัวเชื่อมต่อ PostgreSQL จากนั้นเรียกใช้ app.py ของเรา

FROM python:3.9-slim-buster

WORKDIR /app

COPY . /app

RUN pip install --no-cache-dir flask psycopg2-binary

EXPOSE 5000

CMD ["python", "app.py"]

ไฟล์ `docker-compose.yml`

ไฟล์ docker-compose.yml นี้กำหนดบริการสองรายการของเรา ได้แก่ web และ db โปรดสังเกตว่าบริการ web สร้างจาก Dockerfile ของเรา และเชื่อมต่อกับบริการ db โดยใช้ตัวแปรสภาพแวดล้อม

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    environment:
      DB_HOST: db
      DB_NAME: mydatabase
      DB_USER: user
      DB_PASSWORD: password
    depends_on:
      - db
  db:
    image: postgres:13
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

เริ่มต้นบริการของคุณ

หากต้องการเริ่มบริการทั้งหมดที่กำหนดไว้ในไฟล์ docker-compose.yml ให้ใช้คำสั่ง docker compose up

แฟล็ก -d จะเรียกใช้คอนเทนเนอร์ในโหมด "detached" ซึ่งหมายความว่าคอนเทนเนอร์จะทำงานอยู่เบื้องหลัง

# This command starts your multi-service app
# and runs it in the background.
docker compose up -d

ตรวจสอบคอนเทนเนอร์ที่กำลังทำงาน

หลังจากเรียกใช้ docker compose up -d แล้ว คุณควรตรวจสอบว่าบริการทั้งหมดกำลังทำงานตามที่คาดไว้

คำสั่ง docker compose ps จะแสดงรายการบริการ สถานะ และพอร์ตของบริการเหล่านั้น

# Check the status of your services
docker compose ps

เชื่อมต่อกับแอปของคุณ

เมื่อบริการกำลังทำงาน คุณก็สามารถเข้าถึงแอปพลิเคชันเว็บได้

  • เปิดเว็บเบราว์เซอร์
  • ไปที่ http://localhost:5000

คุณควรเห็นข้อความจากแอป Flask ของเราเพื่อยืนยันการเชื่อมต่อกับฐานข้อมูล PostgreSQL!

ปรับขนาดบริการ

ความสามารถที่ทรงพลังอย่างหนึ่งของ Docker Compose คือการปรับขนาดบริการ หากแอปเว็บของคุณต้องรองรับปริมาณการเข้าชมที่มากขึ้น คุณก็สามารถเพิ่มจำนวนอินสแตนซ์ของบริการเว็บได้อย่างง่ายดาย

ใช้แฟล็ก --scale ร่วมกับ docker compose up

# Scale the 'web' service to 3 instances
docker compose up --scale web=3 -d

หยุดและนำบริการออก

เมื่อใช้งานแอปพลิเคชันเสร็จแล้ว คุณสามารถหยุดและนำบริการทั้งหมดรวมถึงเครือข่ายที่กำหนดไว้ใน docker-compose.yml ออกได้

คำสั่ง docker compose down จะจัดการล้างข้อมูลเหล่านี้ให้คุณ

# Stop and remove all services
docker compose down

ตรวจสอบอย่างรวดเร็ว

ลองพิจารณา docker-compose.yml ที่เราใช้ คุณเพิ่งเริ่มแอปพลิเคชันด้วย docker compose up -d

คำสั่งหลักที่ใช้หยุดและนำบริการที่กำลังทำงานทั้งหมดรวมถึงทรัพยากรที่เกี่ยวข้องออกคือคำสั่งใด

ทบทวนและขั้นตอนถัดไป

ทำได้ดีมาก! คุณได้เรียนรู้วิธีนำแอปพลิเคชันหลายบริการไปใช้งานและจัดการด้วย Docker Compose แล้ว

  • เรากำหนดบริการไว้ใน docker-compose.yml
  • เราใช้ docker compose up -d เพื่อเริ่มบริการ
  • เราตรวจสอบสถานะด้วย docker compose ps
  • เราปรับขนาดบริการและใช้ docker compose down เพื่อล้างข้อมูล

ทักษะนี้เป็นพื้นฐานสำคัญสำหรับการพัฒนาและการทดสอบแอปพลิเคชันที่ซับซ้อนในเครื่อง!

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

บทเรียน “การปรับใช้แอปที่มีหลายบริการ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การปรับใช้แอปที่มีหลายบริการ”

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

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

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

บทเรียน “การปรับใช้แอปที่มีหลายบริการ” ใช้เวลานานแค่ไหน

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

ฉันเขียนและรันโค้ดในบทเรียน Docker & DevOps Fundamentals นี้ได้ไหม

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

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

  1. Docker Compose คืออะไร
  2. การเขียนไฟล์ Compose
  3. การปรับใช้แอปที่มีหลายบริการ
  4. ตัวแปรสภาพแวดล้อมและไฟล์ .env
← กลับไปที่ Docker & DevOps Fundamentals