
Django & Docker
Dockerfile, docker-compose, multi-stage build, volume, network, development กับ production
1base image ใดที่แนะนำสำหรับแอปพลิเคชัน Django ใน production?
base image ใดที่แนะนำสำหรับแอปพลิเคชัน Django ใน production?
คำตอบ
image python:3.x-slim ได้รับการแนะนำเนื่องจากให้ความสมดุลระหว่างขนาดที่เล็กและความเข้ากันได้ มันมีไลบรารีที่จำเป็นในขณะที่หลีกเลี่ยง dependency ที่ไม่จำเป็นของ image แบบเต็ม image Alpine แม้จะเบากว่า แต่อาจทำให้เกิดปัญหาความเข้ากันได้กับไลบรารี Python ที่คอมไพล์บางตัว (เช่น psycopg2)
2ข้อได้เปรียบหลักของ multi-stage build สำหรับแอปพลิเคชัน Django คืออะไร?
ข้อได้เปรียบหลักของ multi-stage build สำหรับแอปพลิเคชัน Django คืออะไร?
คำตอบ
multi-stage build ลดขนาด image สุดท้ายอย่างมีนัยสำคัญโดยการแยกสภาพแวดล้อม build (พร้อมเครื่องมือคอมไพล์ทั้งหมด) ออกจากสภาพแวดล้อม runtime dependency จะถูกคอมไพล์ในสเตจแรก จากนั้นเฉพาะไฟล์ที่จำเป็นเท่านั้นที่ถูกคัดลอกไปยัง image สุดท้าย โดยไม่รวมเครื่องมือ build, ไฟล์ชั่วคราว และ cache
3ใน docker-compose.yml จะมั่นใจได้อย่างไรว่า container Django รอจนกว่า PostgreSQL พร้อมรับการเชื่อมต่อ?
ใน docker-compose.yml จะมั่นใจได้อย่างไรว่า container Django รอจนกว่า PostgreSQL พร้อมรับการเชื่อมต่อ?
คำตอบ
directive depends_on เพียงอย่างเดียวรับประกันแค่การเริ่มต้น container ไม่ใช่ความพร้อมใช้งานของ service เพื่อรอจนกว่า PostgreSQL จะพร้อมจริงๆ ต้องใช้สคริปต์ wait-for-it.sh หรือ dockerize หรือเงื่อนไข service_healthy พร้อม healthcheck วิธีนี้ป้องกันข้อผิดพลาดการเชื่อมต่อเมื่อแอปพลิเคชัน Django เริ่มทำงาน
ความแตกต่างระหว่าง COPY และ ADD ใน Dockerfile สำหรับแอปพลิเคชัน Django คืออะไร?
จะปรับ caching layer ของ Docker ให้เหมาะสมเมื่อติดตั้ง dependency Python ได้อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Django อื่นๆ
พื้นฐาน Python
Python เชิงวัตถุ
พื้นฐาน Django
Django Models - พื้นฐาน
Django Views
เทมเพลต Django
ฟอร์ม Django
QuerySets ขั้นสูง
การยืนยันตัวตนใน Django
Django Middleware
Django Admin
Django REST Framework
Django Signals
การอัปโหลดไฟล์
การแคชใน Django
Django Sessions
อีเมลใน Django
การทดสอบ Django
ความปลอดภัยของ Django
การ Deploy Django
Django ORM ขั้นสูง
ประสิทธิภาพของ Django
Django & Celery
Django Channels
Django & GraphQL
Django ในระบบนิเวศ Microservices
คำสั่ง Django แบบกำหนดเอง
การทำให้รองรับหลายภาษาใน Django
Design Patterns ใน Django
Django Async และ ASGI
Settings และการตั้งค่า Production
Observability และ Monitoring
เชี่ยวชาญ Django สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี