İstanbul --:--—Sistem durumu
Krowten
ÜCRETSİZ ARAÇ / SUNUCU & GELİŞTİRİCİ

Docker Compose Oluşturucu

Servis ekle
terminal
docker compose up -d
docker compose ps
docker compose logs -f

Bu araç tamamen tarayıcında çalışır; compose dosyan ve üretilen şifreler hiçbir sunucuya gönderilmez.

BU ARAÇ HAKKINDA

Servisleri seç, compose.yaml hazır.

Uygulamanı, veritabanını, önbelleği ve ters vekil sunucunu kartlardan ekle; imaj, port, ortam değişkeni ve volume ayarlarını düzenle. Servisler birbirine otomatik bağlanır, şifreler tarayıcında rastgele üretilir ve ayrı bir .env dosyasına yazılır.

Tamamen ücretsizOtomatik bağlantı ve healthcheckAyrı .env dosyası

Docker Compose dosyası nasıl oluşturulur?

Docker Compose, birden fazla konteyneri tek bir YAML dosyasında tanımlayıp tek komutla çalıştırmanı sağlar. Dosyanın adı compose.yaml (eski projelerde docker-compose.yml) olur ve en üstte services: anahtarı altında her servis için imaj, portlar, ortam değişkenleri, volume’lar ve yeniden başlatma politikası yazılır. Bu araçla servisleri kartlardan seçip düzenlersin; doğru girintili, birbirine bağlı ve sağlık kontrollü dosya hazır gelir. Güncel Compose Specification’da dosyanın başındaki version: satırı artık gerekmez ve yazılırsa uyarı verir; bu yüzden üretilen dosyada yer almaz.

Temel docker compose komutları

KomutNe yapar?
docker compose up -dServisleri oluşturur ve arka planda başlatır. Dosyayı değiştirdikten sonra tekrar çalıştırınca yalnızca değişen servisler yeniden oluşturulur.
docker compose psServislerin durumunu ve sağlık kontrolü sonucunu gösterir.
docker compose logs -f wordpressBir servisin günlüklerini canlı izler; servis adı vermezsen hepsini gösterir.
docker compose pullİmajların yeni sürümlerini indirir; ardından up -d ile güncellenmiş konteynerler başlatılır.
docker compose downKonteynerleri ve ağı kaldırır. Adlandırılmış volume’lar kalır; -v eklersen veriler de silinir.
docker compose exec mariadb shÇalışan bir konteynerin içinde komut çalıştırır.

docker-compose mı, docker compose mu?

Tireli docker-compose, Python ile yazılmış eski Compose V1 aracıdır ve 2023’te desteği sona erdi. Bugün kullanılan Compose V2, Docker CLI’ın bir eklentisidir ve docker compose (boşluklu) olarak çağrılır. Docker’ı resmî paketlerden kurduysan docker-compose-plugin paketiyle birlikte gelir. Eski rehberlerdeki komutları çalıştırırken tireyi boşlukla değiştirmen yeterlidir.

Volume, ağ ve servisler arası bağlantı

Adlandırılmış volume (mariadb_data:/var/lib/mysql), verinin konteyner silinse de korunmasını sağlar ve dosyanın sonundaki volumes: bölümünde tanımlanır. Bind mount (./src:/var/www/html) ise sunucudaki bir klasörü doğrudan konteynere bağlar; kod ve yapılandırma dosyaları için uygundur.

Compose, her proje için otomatik bir ağ oluşturur ve servisler birbirine servis adıyla ulaşır. Bu yüzden WordPress’in veritabanı adresi mariadb:3306 olur; IP yazmana gerek yoktur. Veritabanı ve Redis gibi servislerin portunu dışarı açmak (ports:) gerekmez, açmaman daha güvenlidir. Araç bu servisleri port yayınlamadan ekler.

depends_on yalnızca başlatma sırasını belirler; veritabanının gerçekten hazır olmasını beklemek için condition: service_healthy ve bir healthcheck gerekir. Araç, MariaDB, MySQL, PostgreSQL, Redis ve MongoDB için uygun sağlık kontrolünü ekler ve onlara bağlanan servisleri buna göre bekletir.

.env dosyası ve şifreler

Compose, compose.yaml ile aynı klasördeki .env dosyasını otomatik okur ve ${DEGISKEN} ifadelerini bu değerlerle doldurur. Şifreleri burada tutmak, compose dosyasını Git’e eklerken gizli bilgileri dışarıda bırakmanı sağlar: .env dosyasını .gitignore’a eklemeyi unutma. Şifreler tarayıcında crypto.getRandomValues ile üretilir. Veritabanı şifresi yalnızca volume ilk kez oluşturulurken uygulanır; sonradan .env’deki şifreyi değiştirmek mevcut veritabanının şifresini değiştirmez.

İmaj etiketleri

latest etiketi, bir gün docker compose pull sonrası beklenmedik bir ana sürüm yükseltmesine yol açabilir. Araç bu yüzden mariadb:11, postgres:17, redis:7-alpine gibi ana sürüm etiketleri kullanır: güvenlik yamalarını alırsın ama ana sürüm sen değiştirmedikçe sabit kalır. Ana sürüm yükseltmesinden (ör. PostgreSQL 17 → 18) önce mutlaka yedek al.

compose.yaml dosyasını nerede çalıştırırım?

Compose dosyasını çalıştırmak için Docker kurulu bir Linux sunucu yeterlidir. Krowten Docker VPS ile root erişimli kendi sunucunda docker compose up -d diyerek bu dosyayı olduğu gibi kullanabilirsin. Tek bir konteyneri sunucu yönetmeden yayınlamak istiyorsan Docker hosting daha pratik bir seçenektir; işletim sistemi ve güncellemeler bizde kalır.

KROWTEN
compose.yaml dosyan hazır, sunucusu da.

Krowten Docker VPS ile root erişimli KVM sunucunda Docker’ı birkaç dakikada kur, bu dosyayı docker compose up -d ile çalıştır. Servis, volume ve ağ yapılandırması tamamen sende.

Docker VPS paketlerini incele ↗
MERAK EDİLENLER

Docker Compose Oluşturucu
hakkında.

compose.yaml ile docker-compose.yml arasında fark var mı?+

İçerik olarak hayır. Compose her iki adı da okur; güncel belgeler compose.yaml adını önerir. İkisi aynı klasörde bulunursa compose.yaml tercih edilir.

Docker Compose dosyasında version yazmak gerekir mi?+

Hayır. Compose V2 ve Compose Specification ile version: alanı kullanılmaz; yazarsan “obsolete” uyarısı alırsın. Dosyayı doğrudan services: ile başlatabilirsin.

depends_on veritabanının hazır olmasını bekler mi?+

Tek başına beklemez, yalnızca konteynerin başlamasını bekler. Veritabanının bağlantı kabul etmesini beklemek için veritabanına healthcheck ekleyip bağımlı serviste condition: service_healthy kullanmalısın; bu araç bunu otomatik yapar.

Docker Compose ile WordPress nasıl kurulur?+

Araçta WordPress kartını ekle; MariaDB otomatik eklenir ve veritabanı değişkenleri bağlanır. compose.yaml ve .env dosyalarını aynı klasöre kaydedip docker compose up -d çalıştır, ardından tarayıcıdan sunucunun 8080 portuna git. Alan adı ve HTTPS için Caddy kartını da ekleyebilirsin.

DEVAMI

Bunlar da işine yarar.
Hepsi ücretsiz.

Tüm araçlar ↗