Django

Django & Docker

Dockerfile, docker-compose, multi-stage build'ler, volume'ler, ağlar, geliştirme vs üretim

20 mülakat soruları·
Senior
1

Üretimde bir Django uygulaması için hangi base image önerilir?

Cevap

python:3.x-slim image'i, küçük boyut ile uyumluluk arasında bir denge sunduğu için önerilir. Tam image'lerin gereksiz bağımlılıklarından kaçınırken temel kütüphaneleri içerir. Alpine image'leri daha hafif olmasına rağmen, bazı derlenmiş Python kütüphaneleriyle (psycopg2 gibi) uyumluluk sorunlarına yol açabilir.

2

Bir Django uygulaması için multi-stage build'in temel avantajı nedir?

Cevap

Multi-stage build, build ortamını (tüm derleme araçlarıyla) çalışma zamanı ortamından ayırarak nihai image boyutunu önemli ölçüde azaltır. Bağımlılıklar ilk stage'de derlenir, ardından yalnızca gerekli dosyalar nihai image'e kopyalanır; build araçları, geçici dosyalar ve cache'ler hariç tutulur.

3

Bir docker-compose.yml dosyasında, Django container'ının PostgreSQL bağlantı kabul etmeye hazır olana kadar beklemesini nasıl sağlarsınız?

Cevap

depends_on direktifi tek başına yalnızca container'ın başlamasını garanti eder, servisin kullanılabilirliğini değil. PostgreSQL'in gerçekten hazır olmasını beklemek için bir wait-for-it.sh scripti ya da dockerize, veya healthcheck ile service_healthy koşulu kullanılmalıdır. Bu yaklaşım, Django uygulaması başladığında bağlantı hatalarını önler.

4

Bir Django uygulaması için Dockerfile'da COPY ile ADD arasındaki fark nedir?

5

Python bağımlılıklarını yüklerken Docker layer cache'i nasıl optimize edersiniz?

+17 mülakat soruları

Bir sonraki mülakatın için Django'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla