← nitronium.dev

docker-compose.yml'e Dokunmadan Eksik Env Var Eklemek: override.yml

2026-06-11
Üçüncü parti bir Docker Compose servisini test ederken MEMORY_SALT gibi bir değişkenin asıl docker-compose.yml'de tanımlı olmadığını gördüm. Dosyayı düzenlemek istemiyordum çünkü upstream ile senkronize kalmak önemliydi.

Docker Compose otomatik olarak aynı dizindeki docker-compose.override.yml dosyasını ana dosyayla birleştirir. Bunu kullanarak sadece ihtiyacım olan servise sadece ihtiyacım olan değişkeni ekledim:

`yaml

docker-compose.override.yml


services:
gateway:
environment:
- MEMORY_SALT=${MEMORY_SALT:-varsayilan-deger}
`

docker compose up komutu her iki dosyayı okuyup birleştiriyor. Ana dosyaya hiç dokunmadım, git diff temiz kaldı.

Aynı yöntemle port yönlendirme, volume mount veya herhangi bir servis konfigürasyonu da override edilebilir. Özellikle başkasının repo'sunu test ederken veya CI ortamlarında ortam-spesifik ayarları ayrı tutmak için kullanışlı.

`bash

Override'ın uygulandığını doğrula


docker compose config | grep MEMORY_SALT
`