Kimler için uygun?
Stack’ini zaten bir docker-compose dosyasında tanımlayan ve onu servis servis yeniden kurmadan edge arkasında çalıştırmak isteyen ekipler için uygundur.
Nasıl çalışır?
Önceden build edilmiş image içeren servisler container app olur; Redis, MySQL/MariaDB, Postgres ve NATS servisleri managed add-on’a dönüştürülüp bağımlı oldukları app’lere bağlanır. Port, environment, volume, replica, healthcheck ve depends_on sırası otomatik eşlenir.
Uygulamadan önce önizleme
Önizleme dosyayı sunucu tarafında ayrıştırır ve planı döner: oluşturulacak app’ler, add-on eşlemeleri, environment ve secret anahtarları, uyarılar, desteklenmeyen servisler ve kotana uyup uymadığı. Uygulayana kadar hiçbir şey oluşturulmaz; secret değerleri asla geri gösterilmez, yalnızca anahtar adları görünür.
Varsayılan olarak güvenli
Uygulama tek bir transaction içinde ya hep ya hiç çalışır: bir app adı zaten varsa ya da bir adım başarısız olursa hiçbir şey oluşturulmaz. Parola, token ve API anahtarı gibi secret benzeri anahtarlar düz environment yerine secret olarak saklanır.
Adım adım nasıl yayına alınır
Compose dosyanı hazırla
Her servisin önceden build edilmiş bir image kullandığından emin ol (örneğin image: myorg/web:1.2). Yalnızca build: adımı olan servisler henüz desteklenmiyor; onları önce bir registry’ye push et. Redis, MySQL/MariaDB, Postgres ve NATS servisleri image gerektirmez — otomatik olarak managed add-on’a dönüştürülür.
(Özel image’ler) registry kimlik bilgisi ekle
Image’lerden herhangi biri özelse, Container Apps → registry kimlik bilgileri bölümünü bir kez aç ve registry kullanıcı adın ile erişim token’ını ekle; böylece platform deploy sırasında image’i çekebilir. Tüm image’lerin herkese açıksa bu adımı atla.
Dosyayı içe aktar
Panelde Container Apps → “Docker Compose’dan İçe Aktar” bölümünü aç ve docker-compose.yml dosyanı yükle ya da yapıştır. Bu aşamada hiçbir şey oluşturulmaz — içe aktarma yalnızca dosyayı okur.
Planı önizle
Dosya sunucu tarafında ayrıştırılır ve hiçbir şey olmadan önce tüm planı görürsün: hangi container app’ler oluşturulacak, hangi servisler managed add-on olacak, hangi anahtarlar environment yerine secret olarak saklanacak, varsa uyarılar ve desteklenmeyen servisler, ve kotana uyup uymadığı.
Uygula
Onayla ve uygula. Tek bir ya hep ya hiç transaction içinde app’ler ve add-on’lar oluşturulup birbirine bağlanır — port, environment, volume, replica, healthcheck ve depends_on sırası senin için eşlenir. Herhangi bir adım başarısız olursa hiçbir şey oluşturulmaz.
Yayınla ve yönet
Web servisini “expose” ederek otomatik HTTPS’li ücretsiz bir ad.cdn.com.tr adresi al ya da kendi alan adını bağla. Sonrasında log, environment, ölçekleme ve yeniden başlatmaları panelden yönet. Terminali mi tercih edersin? “cdnctl container compose preview” ve “… apply” aynısını iki komutla yapar.
Örnek senaryolar
Çok servisli compose projesini managed app ve add-on’lara taşı.
Aynı compose dosyasından inceleme ya da demo ortamı kur.
Tek bir compose dosyasını projeler arası tek doğru kaynak olarak kullan.
Sık sorulan sorular
Kaynaktan image build eder mi?
Hayır. Her app servisinin önceden build edilmiş bir image’ı olmalı. Yalnızca build adımı tanımlayan servisler önizlemede desteklenmiyor olarak listelenir; önce bir image push edebilirsin.
Veritabanı ya da Redis servisime ne olur?
Redis, MySQL/MariaDB, Postgres ve NATS servisleri ham container olarak çalışmak yerine managed add-on’a dönüştürülüp bağımlı oldukları app’lere bağlanır.
Bir sınır var mı?
Tek bir içe aktarma en fazla 20 servisi işler. Önce önizlemeyi çalıştırarak tüm planı ve hesap kotana uyup uymadığını gör.