Docker Dökümantasyonu (Blog Yazısı tarzında) - suckerman7/JavaRestAPI-Demo GitHub Wiki

DOCKER NEDİR?

Docker, uygulamaların hızlıca derlenmesini, test edilmesini ve dağıtılmasını sağlayan bir yazılım platformudur.

Uygulamanın ana işlevi; yazılımları Container adlı standartlaştırılmış birimler halinde paketlemektir. Bu paketlerin içinde yazılımlar ve onların içinde yer alan:

  • Kitaplıklar

  • Sistem Araçları

  • Kod

  • ve Çalışma Zamanı gibi her şeyi kapsar.

    Docker’ı kullanarak her ortama uygulamalarınızı hızlıca dağıtıp ölçeklendirebilir ve kodunuzun çalışacağından emin olarak hareket edebilirsiniz.

DOCKER NASIL ÇALIŞIR?

** Docker, container’lara yönelik bir işletim sistemi olup** kodunuzu çalıştırmanın en standart yollarını sağlayarak çalışır. Bir sanal makinenin sunucu donanımını sanallaştırması gibi platformdaki container’lar da sunucunun işletim sistemini sanallaştırarak çalışır.

Docker yüklediğinizde elinizde bulunan her sunucuya yüklenir ve container’ları oluşturmanın yanı sıra onları başlatıp durdurmanız için kullanılabilecek basit komutların erişimini sağlar.

Ekran görüntüsü 2024-05-16 144543

DOCKER NEDEN KULLANMALIYIZ?

Eğer yazılım programı geliştiriyorsanız, Docker kullanmanız size oldukça yararlı olacaktır.

Çünkü Docker’ı kullanırsanız:

  • Kaynak kullanımınız gelişerek daha hızlı kod gönderecek,

  • Uygulama işlemlerinizi standart hale getirecek,

  • Kodu sorunsuz bir şekilde taşıyacak,

  • Ve zamandan tasarruf edeceksiniz.

    Docker sayesinde yazılım programı geliştirirken güvenilir bir şekilde çalışabilecek tek bir nesneniz olur. Docker ayrıca basit ve kolay anlaşılan bir söz dizimi içerdiği için size tam denetim sahibi olma olanağı sağlar.

DOCKER’I HANGİ DURUMLARDA KULLANMALISINIZ?

Docker’ın container’larını modern uygulama ve platform oluşturma ve geliştirmede temel bir yapı taşı olarak kullanabilirsiniz.

Bu size şu olanakları sağlar:

  • Dağıtılmış mikro hizmet mimarileri oluşturup çalıştırmak
  • Oluşturduğunuz kodları sürekli entegrasyon ve teslim işlem hatlarıyla dağıtmak
  • Yüksek oranda ölçeklenebilir veri işleme sistemleri oluşturmak
  • Ve geliştiricileriniz için tam olarak yönetilen platformlar oluşturmak kolaylaşır.

DOCKER İLE GELİŞTİRMEDEN ÜRETİME:

Docker'ın tüm bağımlılıkları ile bir görüntü oluşturduğunuz zaman, "Ama elimde bulunan geliştirme makinemde çalışıyordu..." sorununu kolayca çözebilirsiniz. Bir Docker görünütüsü, Git gibi bir açık kaynak kod havuzundan bir derleme ardışık düzeniyle otomatik olarak oluşturulması ve öncelikle geliştirme ortamıyla test edilmesini sağlar. Bunun sonucunda oluşan değişmez görüntü, daha sonra Docker kayıt defterinde toplanır.

Yukarıda bahsettiğimiz aynı Docker görüntüsü:

  • Diğer yükleme testleri,

  • Entegrasyon testleri,

  • Kabul testleri,

    ve daha fazlası için kullanılabilir. Bir üretim veritabanı için JDBC URL'si gibi ortama özgü fakat küçük ancak gerekli farklılıklar, kapsayıcıya ortam değişkenleri ve dosyalar biçiminde aktarılabilir.

    Aşağıdaki diyagram, anlattığımızı daha iyi bir şekilde açıklayacak:

Ekran görüntüsü 2024-05-16 144751