Docker Nedir ve Nasıl Yapılır?

Konuyu başlatankyr karaca·
Yanıt
0
Görüntülenme
1
Oy
1
Son yanıt
Henüz yok
1 görüntülenme

Docker Nedir ve Nasıl Yapılır?

Yazılım geliştirirken en büyük sorunlardan biri, bir bilgisayarda çalışan kodun bir başkasında (veya sunucuda) çalışmamasıdır. Docker, bu sorunu uygulamayı tüm bağımlılıklarıyla birlikte bir "konteyner" içine paketleyerek çözer.

1. Dockerfile (Yapılandırma Dosyası) Dockerfile, bir Docker imajının oluşturulması için gerekli olan tüm komutları ve parametreleri içeren, bildirimsel (declarative) bir metin dosyasıdır.

  • İşlevi: Altyapı kodlaması (Infrastructure as Code) prensibiyle çalışır. Temel imajın ne olacağını, hangi kütüphanelerin yükleneceğini, ortam değişkenlerini ve uygulamanın hangi giriş noktasıyla (Entrypoint) başlatılacağını tanımlar.

  • Önemi: Uygulama ortamının standartlaşmasını ve versiyonlanabilir olmasını sağlar.

2. Docker Image (Statik İmaj) Docker Image, bir konteynerin çalışması için gereken dosya sistemini, kodları, çalışma zamanını (runtime) ve kütüphaneleri içeren, salt okunur (read-only) bir şablondur.

  • Yapısı: Katmanlı bir dosya sistemi (Union File System) mimarisine sahiptir. Her Dockerfile komutu yeni bir katman oluşturur.

  • Karakteristiği: İmajlar değiştirilemez (immutable) yapılardır. Bir kez oluşturulduktan sonra üzerinde değişiklik yapılamaz; değişiklik gerekiyorsa yeni bir imaj inşa edilir.

3. Docker Container (Çalışma Zamanı Birimi) Docker Container, bir imajın izole edilmiş, çalıştırılabilir bir örneğidir (instance).

  • Teknik Yapı: İmaj katmanlarının üzerine yazılabilir bir "okuma-yazma katmanı" eklenmesiyle oluşur.

  • **İzolasyon:**Konteynerler, ana makinenin (Host OS) çekirdeğini paylaşmasına rağmen, süreçler (Process), ağ (Network) ve dosya sistemi açısından birbirinden tamamen izole edilmiştir. Bu, kaynak verimliliğini en üst düzeye çıkarırken güvenlik bariyerleri oluşturur.

Sonuç

Docker ekosistemi; taşınabilirlik, ölçeklenebilirlik ve yüksek yoğunluklu kaynak kullanımı sağlayarak DevOps süreçlerini optimize eder. "Benim ortamımda çalışıyor" (Works on my machine) sorununu donanım ve yazılım katmanlarını birbirinden soyutlayarak kesin olarak ortadan kaldırır.

0 yanıt1

Konuyu Yanıtla

Markdown destekler · Alıntı, kod, liste kullanabilirsiniz

Konuyu yanıtlamak için giriş yapmalısınız.

Bu konuda yer alanlar

Bu gönderinin yazarı ve yorum yazan üyeler (yalnızca bu konu).