Docker
Docker, bir programı ve ihtiyaç duyduğu her şeyi tek bir kapalı pakete koyar; böylece program dizüstünde de canlı sunucuda da aynı çalışır.
Şu adla da bilinir konteyner konteynerleştirme konteyner platformu
Tanım
Docker, bir programı çalışması için gereken her şeyle birlikte paketler; kod, ayarlar ve altta çalışan küçük araçlar tek bir kapalı pakete konur ve bu pakete konteyner denir. Paketi bir kez kurarsınız, sonrasında geliştiricinin dizüstünde, test sunucusunda ve canlı sunucuda aynı şekilde davranır.
Konteynerlerden önce “benim makinemde çalışıyor” yazılımın en pahalı cümlesiydi, çünkü program onu yazan kişide düzgün çalışır, alttaki küçük bir parça farklı sürümde olduğu anda sunucuda bozulurdu. Konteyner bu tartışmayı bitirir, zira kendi kopyalarını yanında taşır ve sunucuda ona itiraz edecek bir şey kalmaz.
Konteyner küçük bir bilgisayar değildir, çünkü üzerinde durduğu makinenin işletim sistemini ödünç alır. Bu yüzden yaklaşık bir saniyede açılır, oysa tam bir sanal makine bir dakika sürer. Sıradan bir sunucu böylece yan yana pek çok konteyner taşıyabilir ve her biri diğerinden ayrılmıştır; bu duvar parasını hak eder, çünkü sistemin bir parçası ele geçirilirse saldırgan diğerlerini hediye olarak almaz.
İnsanları şaşırtan iki şey var ve birincisi konteynerin unutmasıdır. Yeniden başladığında tam kurulduğu haliyle döner, içine yazılan her şey, yüklenen faturalar ya da müşteri fotoğrafları, kaybolur; bu yüzden dosyalar ve veritabanları bilerek konteynerin dışında tutulur. İkincisi yaştır, çünkü her konteyner başkasının yazdığı bir temel imajın üstüne kurulur ve bir yıl önce indirdiğiniz imaj o günden beri bulunan bütün açıkları taşır. Taze bir temel üzerine yeniden kurmak sistem güvenliğinin olağan bir parçasıdır, ek bir iş değil. Bu yüzden Linkysoft baktığı sistemlerde temel imajları sabit bir takvimle yeniler, çünkü kimse bunu elle yapmayı hatırlamaz.
Asıl kazanç hareket özgürlüğüdür, çünkü konteyner kendi dünyasını yanında taşır ve barındırma şirketini değiştirmek bir proje değil bir karar hâline gelir. Linkysoft her web uygulamasını böyle kurar, böylece test ettiğimiz sürüm yeniden derlenmiş bir kopya değil, canlıya çıkan sürümün tam kendisi olur. Müşteri bu sayede Hostrena üzerinde küçük bir sunucuyla başlayıp koda dokunmadan daha büyüğüne geçebilir. İmzadan önce her tedarikçiye tek bir soru sorun: konteyner atılıp yerine yenisi konduğunda verilerimiz nerede duruyor? Cevap belirsizse, cevap zaten budur.
Docker hakkında sorular
Docker sanal makineyle aynı şey mi?
Konteyner yeniden başladığında verilerim kaybolur mu?
Docker sistemimi daha güvenli yapar mı?
Küçük bir işletmenin Docker'a ihtiyacı var mı?
Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?
Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.