
Django & Docker
Dockerfile, docker-compose, multi-stage build, volume, network, development vs production
1Base image nào được khuyến nghị cho ứng dụng Django trong production?
Base image nào được khuyến nghị cho ứng dụng Django trong production?
Câu trả lời
Image python:3.x-slim được khuyến nghị vì nó cân bằng giữa kích thước nhỏ và khả năng tương thích. Nó chứa các thư viện thiết yếu trong khi tránh các dependency không cần thiết của image đầy đủ. Image Alpine tuy nhẹ hơn nhưng có thể gây ra vấn đề tương thích với một số thư viện Python được biên dịch (như psycopg2).
2Lợi ích chính của multi-stage build cho ứng dụng Django là gì?
Lợi ích chính của multi-stage build cho ứng dụng Django là gì?
Câu trả lời
Multi-stage build giảm đáng kể kích thước image cuối cùng bằng cách tách môi trường build (với tất cả công cụ biên dịch) khỏi môi trường runtime. Các dependency được biên dịch trong stage đầu tiên, sau đó chỉ những file cần thiết mới được sao chép vào image cuối cùng, loại trừ công cụ build, file tạm và cache.
3Trong docker-compose.yml, làm thế nào để đảm bảo container Django đợi đến khi PostgreSQL sẵn sàng chấp nhận kết nối?
Trong docker-compose.yml, làm thế nào để đảm bảo container Django đợi đến khi PostgreSQL sẵn sàng chấp nhận kết nối?
Câu trả lời
Chỉ riêng directive depends_on chỉ đảm bảo việc khởi động container, không đảm bảo tính khả dụng của service. Để đợi đến khi PostgreSQL thực sự sẵn sàng, hãy dùng script wait-for-it.sh hoặc dockerize, hoặc điều kiện service_healthy với healthcheck. Cách tiếp cận này ngăn lỗi kết nối khi ứng dụng Django khởi động.
Sự khác biệt giữa COPY và ADD trong Dockerfile cho ứng dụng Django là gì?
Làm thế nào để tối ưu hóa cache layer của Docker khi cài đặt các dependency Python?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Django khác
Kiến thức cơ bản về Python
Python hướng đối tượng
Kiến thức cơ bản về Django
Models Django - Cơ bản
Django Views
Template Django
Django Forms
QuerySets nâng cao
Xác thực Django
Middleware Django
Django Admin
Django REST Framework
Signal trong Django
Tải tệp lên
Caching trong Django
Session Django
Email trong Django
Kiểm thử Django
Bảo mật Django
Triển khai Django
Django ORM nâng cao
Hiệu năng Django
Django & Celery
Django Channels
Django & GraphQL
Django trong hệ sinh thái Microservices
Lệnh Django tùy chỉnh
Quốc tế hóa trong Django
Design Patterns trong Django
Django Async & ASGI
Settings & Cấu hình Production
Observability & Monitoring
Nắm vững Django cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí