Docker Compose ile çok servisli uygulamalar
Web, veritabanı ve önbellekten oluşan uygulamaları tek dosyayla tanımlar, ortamlar arasında taşır ve güncellersin.
Seviye 201 · 15 ders · 12 pratik lab
Dersler
Compose dosyası
- Compose neden var: tek komutla bütün uygulama
- Servisler, imajlar ve build bölümü
- Portlar, ortam değişkenleri ve .env dosyası
- Compose’da birimler ve ağlar
- Kısa görev: web, uygulama ve veritabanını tek dosyada ayağa kaldır
Sağlıklı başlatma
- depends_on ve sağlık denetimleri
- Compose ile log, exec ve tek servis yeniden başlatma
- Bir servisi çoğaltmak ve önüne vekil koymak
- Kısa görev: veritabanı hazır olmadan başlayan uygulamayı düzelt
Ortamlar
- Geçersiz kılma dosyaları: geliştirme ve üretim
- Profillerle isteğe bağlı servisler
- Compose’da secrets ve configs
- Uygulamayı güncellemek ve geri dönmek
- Kısa görev: aynı uygulamanın ayrı bir test kopyasını çalıştır
Kapanış
- Bitirme görevi: izleme panosu olan bir blog yığınını Compose ile kur
Pratik lablar
- Girintisi bozuk Compose dosyası: Girinti ve değişken yerleştirme hataları yüzünden açılmayan Compose dosyasını docker compose config ile hatasız hâle getir ve servisleri ayağa kaldır.
- Birbirini bulamayan servisler: Farklı ağlara bağlanmış uygulama ve veritabanı servislerinin ağ tanımlarını düzelt ve uygulamanın veritabanına servis adıyla bağlandığını günlüklerden göster.
- Çalışan konteynerlerden Compose dosyası: Elle docker run ile başlatılmış üç konteynerin ayarlarını inceleyerek eşdeğer bir Compose dosyası yaz, eskileri kaldırıp yığını Compose ile kaldır ve aynı davranışı gösterdiğini kanıtla.
- Hep sağlıksız görünen servis: İmajda bulunmayan bir aracı çağırdığı için hep unhealthy kalan sağlık kontrolünü düzelt ve docker compose ps’te servisin healthy olduğunu göster.
- Yalnızca uygulamayı yenile: Uygulama kodundaki değişikliği yalnızca o servisi yeniden derleyip başlatarak yayına al ve veritabanı konteynerinin çalışma süresinin değişmediğini göster.
- Göç işi, önbellek ve kuyruk sırası: Veritabanı, şema göç işi, önbellek ve işçi servislerinin başlangıç sırasını sağlık koşulları ve tamamlanma koşuluyla kur ve sıfırdan başlatmada hiçbir servisin hata vermediğini kanıtla.
- Okunmayan .env dosyası: Değişkenleri boş gelen yığında .env dosyasının neden okunmadığını bul, proje klasörünü ya da dosya yolunu düzelt ve docker compose config ile değerlerin dolduğunu göster.
- Geliştirmede canlı kod: Orkide Otel rezervasyon uygulaması için kodu bind mount ile bağlayan bir geliştirme override dosyası yaz ve üretim yapılandırmasının bundan etkilenmediğini birleştirilmiş config çıktısıyla göster.
- Parolayı ortam değişkeninden çıkar: Veritabanı parolasını ortam değişkeninden Compose secret’ına taşı, uygulamayı dosyadan okuyacak şekilde ayarla ve docker inspect çıktısında parolanın artık görünmediğini kanıtla.
- Ölçeklerken port çakışması: Sabit ana makine portu yüzünden ölçeklenemeyen servisi düzenle, önüne mevcut ters vekili koy ve üç kopyanın istek aldığını göster.
- İstek üzerine yönetim araçları: Veritabanı yönetim arayüzünü ve hata ayıklama araçlarını yalnızca bir profil seçildiğinde başlayacak şekilde tanımla ve normal başlatmada çalışmadıklarını göster.
- Bozuk güncellemeden geri dönüş: Yeni imaj etiketine güncellendikten sonra sağlık kontrolünden geçemeyen uygulamayı veri kaybı olmadan önceki sürüme döndür ve hangi adımla döndüğünü kısa bir notta belgele.
Kurs hakkında
Web, veritabanı ve önbellekten oluşan uygulamaları tek dosyayla tanımlar, ortamlar arasında taşır ve güncellersin.
Ne öğreneceksin
- Compose dosyası
- Sağlıklı başlatma
- Ortamlar
- Kapanış
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.