docker介绍

  • docker介绍

docker介绍

  • docker, uygulamaları ve bağımlılıklarını taşınabilir bir kapsülde paketleyip popüler bir Linux veya Windows makinesine dağıtabilen bir uygulama konteyner motorudur. Sanallaştırmayı da sağlar.
  • Neden docker var? Çünkü geliştiriciler ve operatörler sık sık bir sorunla karşılaşırlar. Uygulama geliştiricinin ortamında sorunsuz çalışırken, gerçek üretim ortamında ise hatalarla doludur.
    • Programların çalışması donanım mimarisinden işletim sistemine, ardından uygulama seviyesine kadar farklı seviyelerde gerçekleşir. Fakat geliştiriciler genellikle sadece uygulama geliştirmeyle ilgilenir, diğer seviyelerdeki sorunları görmezden gelir.
    • docker’ın ortaya çıkış amacı işte bu sorunu çözmektir. Uygulamayı ve bağımlılıklarını bir kapsülde paketleyerek ortam sorunlarından endişelenmemenizi sağlar.
  • Geliştirme ve üretim ortamını senkronize eder, geliştiricilerin ortam sorunlarından endişelenmeden yerel ortamda geliştirme, test ve dağıtım yapmalarını sağlar. Geliştirme ve operasyon verimliliğini önemli ölçüde artırır, bunun bedeli ise biraz kaynak israfıdır.

Tüm geliştiricilere konteyner kullanarak geliştirme ve dağıtım yapmayı öğrenmelerini şiddetle tavsiye ederim. Uygulamanıza düşük bir maliyetle istikrarlı bir çalışma ortamı sağlayarak geliştirme ve operasyon verimliliğini artırır.

Docker kullanımının yaygın bir iş akışını tasvir eden birkaç basit ifade:

  1. Operasyon sistemi, uygulamalar, bağımlılıklar, yapılandırma dosyaları vb. içeren sıfırdan bir geliştirme ortamı oluşturun.
    • Ortam herhangi bir yerde çalıştırılabilir ve her yerde oluşturulabilir.
    • Ortam, kaynak kod derleme sonuçları için stabil ve tahmin edilebilir olup, davranışlar tamamen tutarlıdır.
    • Ortamdaki programların çalışması herhangi bir belirsizlik yaratmaz.
    • Ortamı bildirimsel bir şekilde (docker-compose) oluşturmak, ortamın gizli farklılıklarını daha da azaltır. Ortamın her şeyi bildirimde gösterilmiştir.
  2. Bir commit oluşturun, imajı oluşturun. Bu, mevcut ortamı daha sonra kullanmak amacıyla bir anlık görüntüyü kaydeder.
  3. İmajı diğer geliştiriciler ve operatörlerle paylaşın, herkes aynı bağlamda eşzamanlı olarak iş birliği yapar.
  4. İş ihtiyaçları ve talepleriyle birlikte, imajı değiştirin, yeni bir commit oluşturun, yeni bir imaj oluşturun, yeniden dağıtın.

docker’un temel mimarisi