Django

Django & Docker

Dockerfile, docker-compose, multi-stage build, volume, network, development vs production

20 câu hỏi phỏng vấn·
Senior
1

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).

2

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.

3

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.

4

Sự khác biệt giữa COPY và ADD trong Dockerfile cho ứng dụng Django là gì?

5

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

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í