6 dk okuma

Docker Uzmanı Olmak İçin 2 Haftalık Detaylı Öğrenme Planı

5 Mart 202510:00

Docker, modern yazılım geliştirme süreçlerinin olmazsa olmaz araçlarından biri haline geldi. Uygulamaları konteynerler içinde izole bir şekilde çalıştırarak geliştirme sürecini hızlandırmakla kalmaz, aynı zamanda dağıtım işlemlerini kolaylaştırır ve tutarlı bir çalışma ortamı sunar. Eğer Docker’ı sıfırdan öğrenmek ve projelerinizde ustalıkla kullanmak istiyorsanız, doğru yerdesiniz.

Grok 3, Claude 3.7 Sonnet ve ChatGPT o1 modellerine Docker öğrenme yol haritası için doğru soruyu sordum ve muhteşem bilgiler edindim, bu bilgilere eklemeler yapıp derledim ve bir araya getirdim. Bu rehber, sizi 2 hafta gibi kısa bir sürede temel seviyeden ileri seviyeye taşıyacak kapsamlı bir öğrenme planı sunuyor. Günlük planlar, pratik ipuçları ve önerilen kaynaklarla Docker’ı güvenle kullanacak hale geleceksiniz. Hazırsanız, başlayalım.

1. Hafta: Temeller ve Çekirdek Kavramlar

İlk hafta, Docker’ın temel taşlarını yerlerine oturtacağız. Konteynerler, imajlar, ağlar ve depolama gibi çekirdek kavramları öğrenerek sağlam bir zemin oluşturacaksınız. Bu hafta, teoriyi pratiğe dökerek Docker’ı gerçekten anlamaya başlayacaksınız.

1. Gün: Docker’a İlk Adım

Docker dünyasına hoş geldiniz! İlk gün, Docker’ın ne olduğunu, neden bu kadar popüler olduğunu ve temel mimarisini (istemci, daemon, konteynerler, imajlar) keşfedeceksiniz. Docker’ı bilgisayarınıza kurun—Linux, Windows ya da macOS fark etmez—ve ilk konteynerinizi docker run hello-world komutuyla çalıştırın. Ardından docker --version, docker info ve docker ps gibi temel komutlarla sistemi tanıyın. Docker Resmi Dokümantasyonu - Başlarken ve TechWorld with Nana’nın YouTube videosu (ilk 30 dakika) size rehberlik edecek. Hedefiniz, Docker’ın kurulu olduğunu ve ilk konteynerinizin çalıştığını görmek. İlk “hello-world” yazısını terminalde gördüğünüzde, eminim benim gibi heyecanlanacaksınız!

2. Gün: Konteynerlerle Tanışma

Bugün, konteynerlerin yaşam döngüsüne dalıyoruz. Konteynerleri oluşturmayı, başlatmayı, durdurmayı ve silmeyi öğreneceksiniz. docker run, docker stop, docker rm ve docker ps -a gibi komutlarla pratik yapın. Bir Ubuntu konteynerini etkileşimli modda başlatın (docker run -it ubuntu bash) ve içinde gezinin. Docker Hub’dan bir imaj çekin, mesela docker pull nginx. Docker Dokümantasyonu: Konteyner Temelleri ve Docker Hub bu konuda en iyi yardımcılarınız. Günün sonunda, en az 3 farklı konteyneri (Ubuntu, Nginx, Alpine gibi) oluşturup yönetebiliyor olmalısınız.

3. Gün: Docker İmajlarını Keşfetme

Docker imajları, konteynerlerin temel yapı taşlarıdır. Bugün, kendi imajlarınızı nasıl oluşturacağınızı öğreneceksiniz. Basit bir Dockerfile yazın—örneğin, bir Ubuntu imajına Python kurun—ve docker build ile imajınızı oluşturup çalıştırın. İsterseniz imajınızı Docker Hub’a yükleyerek paylaşabilirsiniz (bunun için bir hesap açmanız yeter). Docker Dokümantasyonu: Dockerfile Referansı ve YouTube’daki bu rehber video size yol gösterecek. Hedefiniz, kendi imajınızı oluşturup çalıştırmak.

4. Gün: Docker’da Ağ Yönetimi

Konteynerlerin birbiriyle ve dış dünyayla iletişim kurması için ağ yönetimi çok önemli. Bugün, Docker’ın ağ türlerini (bridge, host, none), port eşlemeyi (-p) ve konteynerler arası iletişimi keşfedeceksiniz. Bir Nginx konteyneri başlatın (docker run -d -p 8080:80 nginx) ve tarayıcınızda localhost:8080 adresine giderek sonucu görün. Docker Dokümantasyonu: Ağ Yönetimi ve DigitalOcean’un ağ rehberi bu konuda size destek olacak. Hedefiniz, Nginx’in tarayıcınızda çalıştığını görmek.

5. Gün: Depolama ve Volume Kullanımı

Docker’da verilerinizin kalıcı olmasını sağlamak kritik bir adım. Bugün, volume ve bind mount kavramlarını öğreneceksiniz. Bir volume oluşturun (docker volume create), bir konteynere bağlayın ve verilerinizin konteyner kapansa bile kaybolmadığını test edin. Yerel bir klasörü konteynerle paylaşmak için bind mount’u da deneyin. Docker Dokümantasyonu: Veri Yönetimi ve YouTube’daki volume videosu bu konuda rehberiniz. Hedefiniz, verilerinizin güvende olduğunu doğrulamak.

6. Gün: Docker Compose ile Tanışma

Tek tek konteyner yönetmek yerine, birden fazla konteyneri bir arada çalıştırmak ister misiniz? Docker Compose tam da bunun için var. Docker Compose’u kurun ve bir docker-compose.yml dosyası yazarak basit bir çok konteynerli uygulama oluşturun—mesela Nginx ve Python içeren bir proje. Ardından docker-compose up ile hepsini başlatın. Docker Dokümantasyonu: Compose’a Giriş ve YouTube’daki Compose rehberi size yardımcı olacak. Hedefiniz, birden fazla konteyneri aynı anda çalıştırmak.

7. Gün: Tekrar ve İlk Projen

Haftayı kapatmadan önce öğrendiklerinizi pekiştirme zamanı. İlk hafta konularını gözden geçirin ve küçük bir proje yapın; mesela Flask ve Nginx içeren bir web uygulaması. Dockerfile ve docker-compose.yml dosyalarınızı hazırlayın ve projenizi çalıştırın. Docker Hile Kağıdı bu aşamada pratik bir destek sunacak. Hedefiniz, kendi uygulamanızı Docker ile çalışır hale getirmek.


2. Hafta: İleri Seviye ve Gerçek Dünya Uygulamaları

İkinci hafta, Docker’ı bir üst seviyeye taşıyarak gerçek projelerde kullanmaya hazır hale geleceksiniz. Güvenlik, orkestrasyon, CI/CD ve optimizasyon gibi ileri seviye konuları keşfedeceksiniz.

8. Gün: Docker Compose’da Ustalaşma

Docker Compose’un derinliklerine iniyoruz. Ortam değişkenleri, servis ölçeklendirme (docker-compose up --scale) ve sağlık kontrollerini öğrenerek projenizi daha esnek hale getirin. Bir .env dosyası ile uygulamanızı özelleştirin ve bir servisi ölçeklendirin. Docker Dokümantasyonu: Compose Dosyası Referansı bu konuda rehberiniz olacak. Hedefiniz, ölçeklenmiş servislerin sorunsuz çalıştığını görmek.

9. Gün: Docker’da Güvenlik

Güvenlik her zaman ön planda olmalı. Bugün, root olmayan kullanıcılarla konteyner çalıştırmayı ve imajları güvenlik açıklarına karşı taramayı (docker scan) öğreneceksiniz. Bir imajı güvenli hale getirip test edin. Docker Dokümantasyonu: Güvenlik ve Snyk’in güvenlik rehberi size yol gösterecek. Hedefiniz, güvenli bir imajı çalışır hale getirmek.

10. Gün: Docker Swarm ile Orkestrasyon

Birden fazla konteyneri koordine etmek için Docker Swarm’a giriş yapıyoruz. docker swarm init ile Swarm modunu başlatın, bir Nginx servisi dağıtın ve ölçeklendirin. Docker Dokümantasyonu: Swarm Modu ve YouTube’daki Swarm rehberi bu konuda yardımcı olacak. Hedefiniz, Swarm’da bir servisi başarıyla çalıştırmak.

11. Gün: Docker ile CI/CD

Docker’ı sürekli entegrasyon ve dağıtım (CI/CD) süreçlerine entegre etme zamanı. Bir GitHub deposu oluşturun, bir Dockerfile ekleyin ve GitHub Actions ile imajınızı otomatik olarak build edip yayınlayın. GitHub Dokümantasyonu: Actions’da Docker ve DigitalOcean’un CI/CD rehberi size destek olacak. Hedefiniz, otomatik bir CI/CD akışı kurmak.

12. Gün: Sorun Çözme ve Optimizasyon

Hata ayıklama ve optimizasyon, Docker uzmanlığının önemli bir parçası. docker logs ve docker exec ile sorunlu bir konteyneri analiz edin, kaynak sınırları belirleyin ve imajınızı optimize edin—mesela çok aşamalı yapılar kullanarak boyutunu küçültün. Docker Dokümantasyonu: Sorun Giderme ve Docker’ın optimizasyon rehberi bu konuda yardımcı olacak. Hedefiniz, daha verimli bir imaj elde etmek.

13. Gün: Büyük Proje

Şimdi tüm bildiklerinizi birleştirme vakti! Node.js backend, React frontend ve Nginx proxy içeren tam bir uygulama yapın. Docker Compose ile servislerinizi birleştirin ve çalıştırın. İsterseniz Swarm ya da CI/CD ile dağıtımı da deneyin. Hedefiniz, tam bir uygulamayı Docker ile çalışır hale getirmek.

14. Gün: Finale Geldik!

Son gün, öğrendiklerinizi gözden geçirin, projenizi GitHub’da paylaşın ve bir sonraki adım olarak Kubernetes’e göz atın. Docker Captains Blog ve Kubernetes Temelleri ilham verebilir. 2 haftalık bu yoğun yolculuktan sonra Docker’ı kendine güvenerek anlatabilecek seviyeye geleceksiniz. Tebrikler!


Günlük Çalışma Planı Önerisi

Bu planı en verimli şekilde uygulamak için günlük bir rutin oluşturabilirsiniz: Sabah 2 saat teorik çalışma ve video izleme, öğleden sonra 2-3 saat uygulamalı pratik, akşam ise 1 saat tekrar ve ertesi güne hazırlık. Bu ritim, hem öğrenmenizi pekiştirecek hem de yorulmadan ilerlemenizi sağlayacak.

Kullanışlı Araçlar

Docker Desktop (Windows/macOS için), VS Code (kod düzenleme için) ve Bash ya da PowerShell gibi bir terminal, bu yolculukta en iyi yardımcılarınız olacak.

Sonuç

Sonuç olarak, Grok 3, Claude 3.7 Sonnet ve ChatGPT o1 modellerine Docker öğrenme yol haritası için doğru soruyu sordum ve muhteşem bilgiler edindim, bu bilgilere eklemeler yapıp derledim ve bir araya getirdim. Bu 2 haftalık öğrenme planı, Docker’ı sıfırdan öğrenip uzmanlaşmanız için tasarlandı. Her gün düzenli çalışarak, hem teorik bilgiyi hem de pratik becerileri kazanabilirsiniz. Takıldığınızda Docker Community Slack gibi topluluklardan destek almayı unutmayın. 14 günün sonunda, Docker’ı gerçek projelerde güvenle kullanabilecek seviyeye geleceksiniz. Umarım bu rehber hoşunuza gitmiştir, diğer yazılarıma da göz atmayı unutmayın. İyi çalışmalar!

Bu yazıyı paylaş

Link kopyalandı!
Mustafa Kürşad Başer

Mustafa Kürşad Başer

Yazılım Mühendisi — Dijital Zanaatkâr

Karmaşık sorunlara zarif çözümler üretmekten keyif alan, tutkulu bir yazılım mühendisi. Kodlamanın ötesinde, teknoloji, sanat ve insan bilincinin kesişim noktalarını keşfetmekle derinden ilgileniyor.

Benzer Yazılar

© 2025 Mustafa Kürşad BAŞER. Tüm hakları saklıdır.

Çerez Tercihleri

Size daha iyi bir deneyim sunabilmek için çerezleri kullanıyoruz. Analitik ve reklam amaçlı çerezler hakkında detaylı bilgi için ayarları özelleştirebilirsiniz.