İçeriğe geç
Muhammet Şafak
en

Uzmanlık

Docker mühendisi — 2020'den beri

2020'den beri Docker kullanıyorum; geliştirme ortamım da dağıtım paketim de container.

yıl
6

Docker’a ilk baktığımda kafamı karıştıran şey, sanallaştırma kelimesinin sanal makineyle özdeşleşmiş olmasıydı. Bunu, kurulumu ve temel kullanımı Docker sanallaştırma: kurulum ve temel kullanım yazısında anlattım.

Bugün Docker benim için bir araç listesi maddesinden fazlası: uygulamanın neye ihtiyaç duyduğunu image’ın içine yazıp onu geliştirme makinesinden sunucuya aynı biçimde taşımanın yolu. Bu işin rol tarafı DevOps ve altyapı sayfasında.

Docker’ın üstüne Kubernetes ya da Dokploy gibi self-hosted bir PaaS koyuyorum. İkisinin altındaki sunucu Linux, uygulamanın önünde ise nginx duruyor.

Docker Mühendisi nedir?

Docker, uygulamaları geliştirmek, taşımak ve çalıştırmak için kullanılan açık bir platformdur. Uygulamayı bağımlılıklarıyla birlikte bir image'a paketler; image'dan çalışan örneğe container denir. Docker mühendisi, bu paketlemeyi ve container'ların çalıştığı ortamı kuran kişidir.

Docker Mühendisi ne iş yapar?

Docker'ı iki yerde kullanıyorum: geliştirme ortamı olarak ve dağıtım paketi olarak. Uygulamayı container olarak paketleyip birden çok makinede [Kubernetes](/tr/uzmanlik/kubernetes/) ile ya da Dokploy gibi self-hosted bir PaaS ile çalıştırıyorum; build, test ve deploy adımlarını GitHub Actions ya da Jenkins hattında tanımlıyorum.

Birlikte kullandığım teknolojiler

  • Docker

    Geliştirme ortamı ve dağıtım paketi.

  • Kubernetes

    Container'ların birden çok makinede çalıştırıldığı, ölçeklendiği ve yeniden başlatıldığı orkestrasyon katmanı.

  • Dokploy

    Self-hosted PaaS; container tabanlı deploy.

  • Linux

    Uygulamaların çalıştığı sunucu işletim sistemi.

  • nginx

    Uygulamanın önündeki katman.

  • GitHub Actions

    Test ve deploy adımlarını repoda tanımlayan CI/CD hattı.

  • Jenkins

    Build, test ve deploy adımlarını çalıştıran otomasyon sunucusu.

Sık sorulanlar

7 soru

  • Docker ile kaç yıldır çalışıyorsun?

    2020'den bu yana, 6 yıldır.

  • Docker nedir?

    Docker, uygulamaları geliştirmek, taşımak ve çalıştırmak için açık bir platform. Uygulama ve bağımlılıkları bir image'a paketlenir, image'dan çalışan örneğe container denir.

  • Image ile container arasındaki fark nedir?

    Image, container oluşturmak için talimatlar taşıyan salt okunur bir şablon; container ise o image'ın çalışan bir örneği. Aynı image'dan istediğiniz kadar container başlatabilirsiniz.

  • Docker ile sanal makine arasındaki fark nedir?

    Sanal makine kendi çekirdeğiyle tam bir işletim sistemi taşır. Container ise uygulamayı kendi bağımlılıklarıyla paketler ve aynı host çekirdeğini paylaşır; Docker bu container'ları oluşturan ve yöneten araçtır.

  • Docker ile Kubernetes arasındaki fark nedir?

    Docker uygulamayı ve ortamını bir container olarak paketler; Kubernetes bu container'ları birden çok makinede çalıştırmayı, ölçeklemeyi ve yeniden başlatmayı yönetir. İlki paketleme, ikincisi orkestrasyon sorusu.

  • Docker'ı nerede çalıştırıyorsun?

    Geliştirme ortamımda ve dağıtımda. Dağıtımda container'lar birden çok makinede Kubernetes'te ya da Dokploy gibi self-hosted bir PaaS'ta çalışıyor; sunucu tarafındaki işletim sistemi Linux.

  • Docker hakkında ne yazdın?

    Blogda Docker'ın container mimarisini, temel komutlarını, volume ve bind mount farkını ve network türlerini anlattığım bir rehber var. Docker'a ilk baktığımda kafamı karıştıran sanallaştırma kelimesiyle de orada hesaplaşıyorum.

Birlikte çalışalım

Bu ekosistemde bir işiniz varsa, ne yaptığınızı anlatın; nasıl kurulacağını konuşalım.

Sitede Ara

Yazı, proje ve sayfalarda arama yapmak için yazmaya başlayın.

Esc ile kapat Pagefind ile güçlendirildi