{"id":163,"date":"2024-05-15T04:31:04","date_gmt":"2024-05-15T01:31:04","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/?p=163"},"modified":"2026-11-04T00:31:08","modified_gmt":"2026-11-03T21:31:08","slug":"docker-nedir","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/docker-nedir\/","title":{"rendered":"Docker Nedir?"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" role=\"navigation\" aria-label=\"Table of Contents\" data-nosnippet class=\"toc_transparent no_bullets toc_numbered toc_title_center\"><p class=\"toc_title\">\u0130\u00e7indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Giris\"><span class=\"toc_number toc_depth_1\">1.<\/span> Giri\u015f<\/a><\/li><li><a href=\"#Docker8217in_Temel_Ozellikleri\"><span class=\"toc_number toc_depth_1\">2.<\/span> Docker&#8217;\u0131n Temel \u00d6zellikleri<\/a><ul><li><a href=\"#Konteynerler\"><span class=\"toc_number toc_depth_2\">2.1.<\/span> Konteynerler<\/a><\/li><li><a href=\"#Dockerfile\"><span class=\"toc_number toc_depth_2\">2.2.<\/span> Dockerfile<\/a><\/li><li><a href=\"#Docker_Hub\"><span class=\"toc_number toc_depth_2\">2.3.<\/span> Docker Hub<\/a><\/li><li><a href=\"#Izolasyon_ve_Guvenlik\"><span class=\"toc_number toc_depth_2\">2.4.<\/span> \u0130zolasyon ve G\u00fcvenlik<\/a><\/li><\/ul><\/li><li><a href=\"#Docker8217in_Kullanim_Alanlari\"><span class=\"toc_number toc_depth_1\">3.<\/span> Docker&#8217;\u0131n Kullan\u0131m Alanlar\u0131<\/a><ul><li><a href=\"#Uygulama_Gelistirme_ve_Test\"><span class=\"toc_number toc_depth_2\">3.1.<\/span> Uygulama Geli\u015ftirme ve Test<\/a><\/li><li><a href=\"#Surekli_Entegrasyon_ve_Surekli_Dagitim_CICD\"><span class=\"toc_number toc_depth_2\">3.2.<\/span> S\u00fcrekli Entegrasyon ve S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD)<\/a><\/li><li><a href=\"#Mikroservis_Mimarisine_Gecis\"><span class=\"toc_number toc_depth_2\">3.3.<\/span> Mikroservis Mimarisine Ge\u00e7i\u015f<\/a><\/li><li><a href=\"#Bulut_Tabanli_Dagitimlar\"><span class=\"toc_number toc_depth_2\">3.4.<\/span> Bulut Tabanl\u0131 Da\u011f\u0131t\u0131mlar<\/a><\/li><\/ul><\/li><li><a href=\"#Docker8217in_Avantajlari\"><span class=\"toc_number toc_depth_1\">4.<\/span> Docker&#8217;\u0131n Avantajlar\u0131<\/a><ul><li><a href=\"#Tasinabilirlik\"><span class=\"toc_number toc_depth_2\">4.1.<\/span> Ta\u015f\u0131nabilirlik<\/a><\/li><li><a href=\"#Hiz_ve_Verimlilik\"><span class=\"toc_number toc_depth_2\">4.2.<\/span> H\u0131z ve Verimlilik<\/a><\/li><li><a href=\"#Kolay_Yonetim\"><span class=\"toc_number toc_depth_2\">4.3.<\/span> Kolay Y\u00f6netim<\/a><\/li><li><a href=\"#Genis_Topluluk_Destegi\"><span class=\"toc_number toc_depth_2\">4.4.<\/span> Geni\u015f Topluluk Deste\u011fi<\/a><\/li><\/ul><\/li><li><a href=\"#Sonuc\"><span class=\"toc_number toc_depth_1\">5.<\/span> Sonu\u00e7<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Giris\">Giri\u015f<\/span><\/h2>\n<p>Docker, uygulamalar\u0131 ve ihtiya\u00e7 duyduklar\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131 imajlar halinde paketleyip konteynerlerde \u00e7al\u0131\u015ft\u0131rmaya yarayan bir platformdur. Temel bile\u015feni Docker Engine a\u00e7\u0131k kaynakl\u0131d\u0131r; Docker Desktop gibi \u00fcr\u00fcnlerin ayr\u0131 lisans ko\u015fullar\u0131 bulunur. Docker, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131nda ayn\u0131 uygulama paketinin kullan\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. B\u00f6ylece ortam farkl\u0131l\u0131klar\u0131ndan kaynaklanan sorunlar\u0131 azaltabilir, ancak i\u015fletim sistemi, donan\u0131m ve yap\u0131land\u0131rma farklar\u0131n\u0131 tamamen ortadan kald\u0131rmaz.<\/p>\n<h2><span id=\"Docker8217in_Temel_Ozellikleri\">Docker&#8217;\u0131n Temel \u00d6zellikleri<\/span><\/h2>\n<h3><span id=\"Konteynerler\">Konteynerler<\/span><\/h3>\n<p>Docker&#8217;\u0131n temel yap\u0131 ta\u015f\u0131 konteynerlerdir. \u0130maj, uygulaman\u0131n dosyalar\u0131n\u0131, gerekli kullan\u0131c\u0131 alan\u0131 bile\u015fenlerini ve varsay\u0131lan \u00e7al\u0131\u015ft\u0131rma ayarlar\u0131n\u0131 i\u00e7eren pakettir; konteyner ise bu imajdan olu\u015fturulan \u00e7al\u0131\u015fma ortam\u0131d\u0131r. Konteynerler, ayr\u0131 bir i\u015fletim sistemi \u00e7ekirde\u011fi ba\u015flatmak yerine \u00e7al\u0131\u015ft\u0131klar\u0131 ortam\u0131n \u00e7ekirde\u011fini payla\u015f\u0131r. Bu nedenle sanal makinelere k\u0131yasla genellikle daha d\u00fc\u015f\u00fck ek kaynak t\u00fcketir ve daha h\u0131zl\u0131 ba\u015flarlar. Harici veritabanlar\u0131, kal\u0131c\u0131 veriler ve \u00e7al\u0131\u015fma an\u0131nda sa\u011flanan yap\u0131land\u0131rmalar\u0131n ayr\u0131ca y\u00f6netilmesi gerekir.<\/p>\n<h3><span id=\"Dockerfile\">Dockerfile<\/span><\/h3>\n<p>Dockerfile, bir Docker imaj\u0131n\u0131n nas\u0131l olu\u015fturulaca\u011f\u0131n\u0131 tarif eden metin dosyas\u0131d\u0131r. Temel imaj\u0131n se\u00e7ilmesi, uygulama dosyalar\u0131n\u0131n kopyalanmas\u0131, ba\u011f\u0131ml\u0131l\u0131klar\u0131n kurulmas\u0131 ve varsay\u0131lan ba\u015flatma komutunun tan\u0131mlanmas\u0131 gibi talimatlar i\u00e7erir. \u0130maj bu dosyadan derlenir, konteynerler ise imajdan olu\u015fturulur. Dockerfile derleme s\u00fcrecini tekrarlanabilir hale getirmeye yard\u0131mc\u0131 olur; ayn\u0131 sonucu elde etmek i\u00e7in temel imaj\u0131n ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n s\u00fcr\u00fcmlerinin de sabitlenmesi \u00f6nemlidir.<\/p>\n<h3><span id=\"Docker_Hub\">Docker Hub<\/span><\/h3>\n<p>Docker Hub, Docker g\u00f6r\u00fcnt\u00fclerinin (images) depoland\u0131\u011f\u0131 ve payla\u015f\u0131ld\u0131\u011f\u0131 merkezi bir depodur. Geli\u015ftiriciler, kendi \u00f6zel g\u00f6r\u00fcnt\u00fclerini Docker Hub&#8217;a y\u00fckleyebilir veya topluluk taraf\u0131ndan olu\u015fturulmu\u015f haz\u0131r g\u00f6r\u00fcnt\u00fcleri kullanabilirler. Bu, uygulamalar\u0131n h\u0131zla da\u011f\u0131t\u0131lmas\u0131n\u0131 ve payla\u015f\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3><span id=\"Izolasyon_ve_Guvenlik\">\u0130zolasyon ve G\u00fcvenlik<\/span><\/h3>\n<p>Docker, s\u00fcre\u00e7leri ve dosya sistemlerini ay\u0131ran mekanizmalarla konteynerler aras\u0131nda izolasyon sa\u011flar; kaynak s\u0131n\u0131rlar\u0131 ve a\u011f ayarlar\u0131 da kontrol imk\u00e2n\u0131 sunar. Ancak bu izolasyon mutlak de\u011fildir ve tek ba\u015f\u0131na g\u00fcvenli\u011fi garanti etmez. Payla\u015f\u0131lan \u00e7ekirdekteki a\u00e7\u0131klar veya hatal\u0131 yap\u0131land\u0131rmalar ana sistemi ve di\u011fer konteynerleri etkileyebilir. G\u00fcvenilir ve g\u00fcncel imajlar kullanmak, gereksiz ayr\u0131cal\u0131klardan ka\u00e7\u0131nmak, kaynak s\u0131n\u0131rlar\u0131n\u0131 yap\u0131land\u0131rmak ve yaln\u0131zca gereken a\u011f eri\u015fimine izin vermek \u00f6nemlidir. Docker soketine eri\u015fim verilmesi de ana sistem \u00fczerinde geni\u015f yetkiler sa\u011flayabilece\u011finden dikkatle s\u0131n\u0131rland\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<h2><span id=\"Docker8217in_Kullanim_Alanlari\">Docker&#8217;\u0131n Kullan\u0131m Alanlar\u0131<\/span><\/h2>\n<h3><span id=\"Uygulama_Gelistirme_ve_Test\">Uygulama Geli\u015ftirme ve Test<\/span><\/h3>\n<p>Docker, geli\u015ftirme ve test ortamlar\u0131n\u0131n kurulmas\u0131n\u0131 kolayla\u015ft\u0131rabilir. Geli\u015ftiriciler, uygulamalar\u0131 belirli ba\u011f\u0131ml\u0131l\u0131k s\u00fcr\u00fcmleriyle konteynerlerde \u00e7al\u0131\u015ft\u0131rarak yerel kurulumlardan kaynaklanan \u00e7ak\u0131\u015fmalar\u0131 azaltabilir. Ayn\u0131 imaj\u0131n ekip i\u00e7inde ve test s\u00fcre\u00e7lerinde kullan\u0131lmas\u0131 hatalar\u0131n yeniden \u00fcretilmesine yard\u0131mc\u0131 olur. Bununla birlikte test verileri, ortam de\u011fi\u015fkenleri ve harici servisler de tutarl\u0131 bi\u00e7imde yap\u0131land\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<h3><span id=\"Surekli_Entegrasyon_ve_Surekli_Dagitim_CICD\">S\u00fcrekli Entegrasyon ve S\u00fcrekli Da\u011f\u0131t\u0131m (CI\/CD)<\/span><\/h3>\n<p>Docker, CI\/CD s\u00fcre\u00e7lerinde yayg\u0131n olarak kullan\u0131l\u0131r. Otomatik testler ve da\u011f\u0131t\u0131mlar i\u00e7in Docker konteynerleri kullanarak, yaz\u0131l\u0131m g\u00fcncellemeleri h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde \u00fcretim ortam\u0131na ta\u015f\u0131nabilir. Bu, yaz\u0131l\u0131m geli\u015ftirme s\u00fcrecinin h\u0131zlanmas\u0131na ve hatalar\u0131n erken tespit edilmesine yard\u0131mc\u0131 olur.<\/p>\n<h3><span id=\"Mikroservis_Mimarisine_Gecis\">Mikroservis Mimarisine Ge\u00e7i\u015f<\/span><\/h3>\n<p>Docker, her mikroservisin kendi ba\u011f\u0131ml\u0131l\u0131klar\u0131yla ayr\u0131 bir imaj olarak paketlenmesini ve konteynerlerde \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r. Bu yakla\u015f\u0131m, servislerin birbirinden ba\u011f\u0131ms\u0131z g\u00fcncellenmesini ve da\u011f\u0131t\u0131lmas\u0131n\u0131 destekler. Ancak bir uygulamay\u0131 konteynerlere ay\u0131rmak tek ba\u015f\u0131na mikroservis mimarisi olu\u015fturmaz veya \u00f6l\u00e7eklenebilirli\u011fi garanti etmez; servis s\u0131n\u0131rlar\u0131, ileti\u015fim, veri y\u00f6netimi ve izleme ayr\u0131ca tasarlanmal\u0131d\u0131r.<\/p>\n<h3><span id=\"Bulut_Tabanli_Dagitimlar\">Bulut Tabanl\u0131 Da\u011f\u0131t\u0131mlar<\/span><\/h3>\n<p>Docker imajlar\u0131 bulut tabanl\u0131 da\u011f\u0131t\u0131mlarda da kullan\u0131labilir. AWS, Google Cloud ve Azure gibi sa\u011flay\u0131c\u0131lar\u0131n konteyner hizmetleri, uyumlu imajlar\u0131n da\u011f\u0131t\u0131lmas\u0131na olanak tan\u0131r. Da\u011f\u0131t\u0131m y\u00f6ntemi, desteklenen mimariler, a\u011f ba\u011flant\u0131lar\u0131 ve kal\u0131c\u0131 depolama se\u00e7enekleri se\u00e7ilen hizmete g\u00f6re de\u011fi\u015fir. Docker uygulaman\u0131n paketlenmesini standartla\u015ft\u0131r\u0131rken, buluttaki performans ve verimlilik kaynak se\u00e7imine ve uygulaman\u0131n tasar\u0131m\u0131na da ba\u011fl\u0131d\u0131r.<\/p>\n<h2><span id=\"Docker8217in_Avantajlari\">Docker&#8217;\u0131n Avantajlar\u0131<\/span><\/h2>\n<h3><span id=\"Tasinabilirlik\">Ta\u015f\u0131nabilirlik<\/span><\/h3>\n<p>Docker, ayn\u0131 imaj\u0131n geli\u015ftirici bilgisayar\u0131nda, test sunucusunda ve \u00fcretim ortam\u0131nda kullan\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131rarak kurulum farkl\u0131l\u0131klar\u0131n\u0131 azalt\u0131r. Ta\u015f\u0131nabilirlik i\u00e7in imaj\u0131n hedef i\u015fletim sistemi ve i\u015flemci mimarisiyle uyumlu olmas\u0131 gerekir; farkl\u0131 mimariler i\u00e7in uygun imajlar olu\u015fturulabilir. Linux konteynerleri Linux \u00e7ekirde\u011fine ihtiya\u00e7 duyar; macOS ve Windows \u00fczerinde genellikle bir Linux sanal makinesi veya WSL 2 gibi bir katman arac\u0131l\u0131\u011f\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Ortam de\u011fi\u015fkenleri, a\u011f eri\u015fimi, ba\u011fl\u0131 depolama ve harici servisler de ayr\u0131ca yap\u0131land\u0131r\u0131lmal\u0131d\u0131r.<\/p>\n<h3><span id=\"Hiz_ve_Verimlilik\">H\u0131z ve Verimlilik<\/span><\/h3>\n<p>Konteynerler, her \u00f6rnek i\u00e7in ayr\u0131 bir i\u015fletim sistemi ba\u015flatmad\u0131klar\u0131 i\u00e7in sanal makinelere g\u00f6re genellikle daha h\u0131zl\u0131 a\u00e7\u0131l\u0131r ve daha d\u00fc\u015f\u00fck bellek ile disk ek y\u00fck\u00fcne sahiptir. Bu, ayn\u0131 sunucudaki kaynaklar\u0131n daha verimli kullan\u0131lmas\u0131na yard\u0131mc\u0131 olabilir. Ancak uygulaman\u0131n i\u015flem, a\u011f veya disk performans\u0131 i\u015f y\u00fck\u00fcne ve yap\u0131land\u0131rmaya ba\u011fl\u0131d\u0131r; konteyner kullanmak uygulaman\u0131n mutlaka daha h\u0131zl\u0131 \u00e7al\u0131\u015faca\u011f\u0131 anlam\u0131na gelmez.<\/p>\n<h3><span id=\"Kolay_Yonetim\">Kolay Y\u00f6netim<\/span><\/h3>\n<p>Docker, konteynerleri olu\u015fturmak, ba\u015flatmak, durdurmak ve g\u00fcnl\u00fcklerini incelemek i\u00e7in ara\u00e7lar sunar. Docker Compose, \u00e7ok konteynerli uygulamalar\u0131n servislerini, a\u011flar\u0131n\u0131 ve birimlerini bir YAML dosyas\u0131nda tan\u0131mlay\u0131p birlikte y\u00f6netmeyi kolayla\u015ft\u0131r\u0131r. Kubernetes ise bir k\u00fcmedeki konteynerli i\u015f y\u00fcklerinin da\u011f\u0131t\u0131m\u0131n\u0131, \u00f6l\u00e7eklenmesini ve yeniden ba\u015flat\u0131lmas\u0131n\u0131 y\u00f6netir. Bu ara\u00e7lar\u0131n kapsamlar\u0131 farkl\u0131d\u0131r; Compose tek ba\u015f\u0131na \u00e7ok sunuculu k\u00fcme orkestrasyonu sa\u011flamaz. Docker ile olu\u015fturulan uyumlu imajlar Kubernetes \u00fczerinde kullan\u0131labilir, ancak Kubernetes d\u00fc\u011f\u00fcmlerinde Docker Engine bulunmas\u0131 \u015fart de\u011fildir.<\/p>\n<h3><span id=\"Genis_Topluluk_Destegi\">Geni\u015f Topluluk Deste\u011fi<\/span><\/h3>\n<p>Docker ekosistemi; dok\u00fcmantasyon, a\u00e7\u0131k kaynak projeleri, \u00f6rnek yap\u0131land\u0131rmalar ve topluluk taraf\u0131ndan payla\u015f\u0131lan imajlarla \u00f6\u011frenmeyi ve sorun \u00e7\u00f6zmeyi destekler. Haz\u0131r i\u00e7erikleri kullan\u0131rken g\u00fcncelli\u011fini, bak\u0131m durumunu ve kendi uygulaman\u0131zla uyumlulu\u011funu de\u011ferlendirmek gerekir. Topluluk deste\u011fi yararl\u0131d\u0131r, ancak her imaj veya ara\u00e7 i\u00e7in bak\u0131m ve destek garantisi anlam\u0131na gelmez.<\/p>\n<h2><span id=\"Sonuc\">Sonu\u00e7<\/span><\/h2>\n<p>Docker, uygulamalar\u0131 imajlar halinde paketleyip konteynerlerde \u00e7al\u0131\u015ft\u0131rarak geli\u015ftirme, test ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerini daha tutarl\u0131 y\u00f6netmeye yard\u0131mc\u0131 olur. CI\/CD, mikroservisler ve bulut da\u011f\u0131t\u0131mlar\u0131nda yararl\u0131d\u0131r; ancak her uygulama i\u00e7in zorunlu de\u011fildir. Kullan\u0131m karar\u0131 verirken i\u015fletim sistemi ve mimari uyumlulu\u011fu, kal\u0131c\u0131 veri y\u00f6netimi, g\u00fcvenlik ayarlar\u0131 ve orkestrasyon ihtiyac\u0131 birlikte de\u011ferlendirilmelidir.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Docker, uygulamalar\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131yla paketleyerek farkl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rmay\u0131 kolayla\u015ft\u0131r\u0131r. Konteynerlerin \u00e7al\u0131\u015fma mant\u0131\u011f\u0131n\u0131, Dockerfile ve Docker Hub&#8217;\u0131n rol\u00fcn\u00fc, kullan\u0131m alanlar\u0131n\u0131 ve s\u0131n\u0131rlar\u0131n\u0131 ke\u015ffedin.<\/p>\n","protected":false},"author":1,"featured_media":6118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,27,26],"tags":[49,50,51],"class_list":["post-163","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nedir","category-bulut-bilisim","category-teknoloji","tag-docker","tag-konteyner","tag-uygulamagelistirme"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=163"}],"version-history":[{"count":12,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/163\/revisions"}],"predecessor-version":[{"id":6120,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/163\/revisions\/6120"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/6118"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}