Docker temelleri
İmajlar, konteynerler, ağlar ve birimler.
Seviye 101 · 18 ders · 15 pratik lab
Dersler
Başlangıç
- Docker nedir: motor, imaj, konteyner: Docker'ın motor, imaj ve konteyner kavramlarını, bir uygulamanın neden kendi paketinde çalıştırıldığını anlarsın.
- Docker imajı çekmek ve konteyner çalıştırmak: Docker ile hazır bir imajı indirmeyi ve ondan bir konteyner başlatıp çalıştığını doğrulamayı öğrenirsin.
- Docker konteynerinin yaşam döngüsü: Docker'da konteynerin oluşturulması, çalışması, durması ve silinmesi adımlarını ve bunların durumlarını izlemeyi öğrenirsin.
- Docker log, inceleme ve exec: Docker'da konteynerin günlüğünü okur, ayrıntılarını inceler ve içine girerek sorun arama yaparsın.
- Kısa görev: bir web sunucusu konteyneri çalıştır, logunu ve ayarlarını incele
Uygulama için
- Docker ile port yayınlamak: Docker'da konteynerin portunu ev sahibi makineye yayınlamayı ve bunun hangi adresten erişime açtığını anlarsın.
- Docker ortam değişkenleri: Docker konteynerine ayarları ortam değişkenleriyle vermeyi ve parola gibi gizli değerlerin neden dikkatle yönetilmesi gerektiğini anlarsın.
- Docker bind mount: Docker'da ev sahibi makinedeki bir klasörü konteynerin içine bağlamayı ve bunun getirdiği erişim riskini görürsün.
- Docker birimleri ve yedekleri: Docker'da konteyner silinse de verinin kalmasını sağlayan birimleri (volume) kurar ve onların yedeğini almayı öğrenirsin.
- Docker ağları ve servis keşfi: Docker'da konteynerleri ortak bir ağa bağlayıp adlarıyla birbirini bulmalarını ve gereksiz erişimi kapatmayı öğrenirsin.
- Kısa görev: uygulamayı veritabanıyla aynı ağda, kalıcı veriyle çalıştır
İmaj üretmek
- Dockerfile temelleri: Bir Dockerfile'ın satırlarının imajı nasıl adım adım oluşturduğunu okuyup basit bir tane yazarsın.
- Docker ile derlemek ve etiketlemek: Dockerfile'dan imaj derlemeyi ve imajı sürüm etiketiyle adlandırıp ayırt edilebilir tutmayı öğrenirsin.
- Docker kayıt defteri, save ve load: Docker imajlarının kayıt defterinde nasıl saklandığını, imajı dosyaya kaydedip başka makineye yüklemeyi öğrenirsin.
- Docker kaynak sınırları ve yeniden başlatma politikaları: Docker'da konteynerin bellek ve işlemci kullanımını sınırlamayı ve çökünce yeniden başlama kuralını ayarlamayı öğrenirsin.
- Docker temizliği: Docker'da kullanılmayan konteyner, imaj ve birimleri güvenle bulup temizleyerek diskin dolmasını önlemeyi öğrenirsin.
- Kısa görev: kendi imajını derle, etiketle ve başka makineye taşı
Kapanış
- Bitirme görevi: bir uygulamayı Docker'la konteynerleştir: Kurgusal bir şirketin küçük bir uygulamasını Dockerfile ile imaja çevirir, portu ve ayarlarıyla birlikte çalıştırıp doğrularsın.
Pratik lablar
- Hemen kapanan konteyner: Başlar başlamaz kapanan konteynerin günlüklerinden ve çıkış kodundan nedeni bul, doğru komutla yeniden çalıştır ve docker ps ile ayakta kaldığını göster.
- Konteynerin gizli ayarları: Çalışan konteynerin ortam değişkenlerini, bağlı klasörlerini, IP adresini ve yeniden başlama politikasını docker inspect biçim şablonlarıyla tek bir rapora çıkar.
- Kimsenin bilmediği konteyner: Sunucuda belgesiz çalışan konteynerin imajını, sürecini, portlarını, bağlı klasörlerini ve ortamını inceleyerek eşdeğer bir docker run komutu yaz ve yeni konteynerin aynı işi yaptığını göster.
- Açılmayan site: Tarçın Kafe’nin web konteynerinde yanlış konteyner portuna yönlendirilen yayını düzelt ve sitenin ana makineden curl ile açıldığını göster.
- Yanlış okunan ortam dosyası: Tırnak ve boşluk hataları yüzünden uygulamanın yanlış veritabanı adresini okumasına yol açan ortam dosyasını düzelt ve konteyner içindeki değerleri env ile doğrula.
- Yönetim paneli yalnızca yerelden: Uygulamanın genel portunu herkese açık bırakırken yönetim panelinin portunu yalnızca ana makinenin kendisinden erişilebilir yap ve lab’daki ikinci makineden yapılan denemeyle kanıtla.
- Silinince kaybolmayan veri: Notlar uygulamasının verisini adlandırılmış bir volume’a taşı, konteyneri silip yeniden oluştur ve kayıtların yerinde durduğunu göster.
- Volume yedeği ve geri yükleme: Veritabanı volume’unu yardımcı bir konteynerle arşive yedekle, yeni bir volume’a geri yükle ve iki taraftaki dosyaların sağlama toplamlarının aynı olduğunu kanıtla.
- Yapılandırmayı gizleyen bind mount: Boş bir ana makine klasörünün imajdaki yapılandırma dosyalarını örttüğü için başlamayan uygulamayı düzelt; yalnızca gereken dosyaları bağla ve uygulamanın açıldığını göster.
- Derlenmeyen ilk Dockerfile: Kopyalama yolu ve çalışma dizini hataları yüzünden derlenmeyen Dockerfile’ı düzelt, imajı sürüm etiketiyle derle ve konteynerin çalıştığını göster.
- Sürüm etiketleri ve yerel kayıt defteri: Kervan Seyahat uygulamasının imajını sürüm ve latest etiketleriyle lab’daki kayıt defterine gönder, yerel kopyaları sil ve belirli sürümü geri çekerek doğru imajın geldiğini göster.
- Root olarak çalışan imaj: Uygulamayı root olarak çalıştıran Dockerfile’ı ayrıcalıksız bir kullanıcıyla çalışacak şekilde düzenle, dosya sahipliklerini düzelt ve id çıktısı ile uygulamanın yazabildiğini kanıtla.
- Disk doldu: güvenli temizlik: Durmuş konteynerleri ve sarkan imajları kullanımdaki volume’lara dokunmadan temizle ve kazanılan alanı docker system df ile öncesi/sonrası raporla.
- Açgözlü konteyneri sınırla: Tüm belleği ve işlemciyi tüketen rapor konteynerine bellek ve CPU sınırı koy ve docker stats ile sınırların uygulandığını göster.
- Yeniden başlama politikası tuzağı: Sonsuz döngüde yeniden başlayan bir konteyner ile servis yeniden başladıktan sonra hiç kalkmayan başka bir konteynerin politikalarını düzelt ve Docker servisini yeniden başlatarak ikisinin de doğru davrandığını kanıtla.
Kurs hakkında
İmajlar, konteynerler, ağlar ve birimler.
Ne öğreneceksin
- Başlangıç
- Uygulama için
- İmaj üretmek
- Kapanış
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
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 başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanı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.