{"id":201,"date":"2026-04-17T12:00:00","date_gmt":"2026-04-17T12:00:00","guid":{"rendered":"https:\/\/konteynerium.com\/?p=201"},"modified":"2026-10-06T11:34:00","modified_gmt":"2026-10-06T11:34:00","slug":"docker-nedir-container-dunyasina-giris","status":"publish","type":"post","link":"https:\/\/konteynerium.com\/index.php\/2026\/04\/17\/docker-nedir-container-dunyasina-giris\/","title":{"rendered":"Docker Nedir? Container D\u00fcnyas\u0131na Giri\u015f"},"content":{"rendered":"<p>Bir uygulamay\u0131 kendi bilgisayar\u0131n\u0131zda sorunsuz \u00e7al\u0131\u015ft\u0131r\u0131p meslekta\u015f\u0131n\u0131z\u0131n makinesinde &#8220;bende \u00e7al\u0131\u015f\u0131yordu ama&#8230;&#8221; demek, yaz\u0131l\u0131m d\u00fcnyas\u0131n\u0131n en eski \u015fakalar\u0131ndan biridir. Docker, tam olarak bu sorunu \u00e7\u00f6zmek i\u00e7in ortaya \u00e7\u0131kt\u0131: bir uygulamay\u0131, \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereken her \u015feyle birlikte <strong>tek bir paket<\/strong> haline getirip, o paketi hangi ortamda \u00e7al\u0131\u015ft\u0131r\u0131rsan\u0131z \u00e7al\u0131\u015ft\u0131r\u0131n ayn\u0131 \u015fekilde davranmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Container nedir?<\/h2>\n<p>Container (konteyner), bir uygulaman\u0131n kodunu, k\u00fct\u00fcphanelerini, ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 ve \u00e7al\u0131\u015fma zaman\u0131 ayarlar\u0131n\u0131 tek bir izole birimde toplayan hafif bir paketleme bi\u00e7imidir. &#8220;Konteyner&#8221; ismi tesad\u00fcf de\u011fil: t\u0131pk\u0131 bir nakliye konteynerinin i\u00e7ine ne koyarsan\u0131z koyun, gemide, trende veya kamyonda ayn\u0131 standart \u015fekilde ta\u015f\u0131nabilmesi gibi, bir yaz\u0131l\u0131m container&#8217;\u0131 da i\u00e7inde ne olursa olsun herhangi bir sunucuda ayn\u0131 \u015fekilde \u00e7al\u0131\u015f\u0131r.<\/p>\n<div class=\"callout\">\n  <span class=\"glyph\">i<\/span><\/p>\n<p>Container, sanal makineden farkl\u0131 olarak kendi i\u015fletim sistemi \u00e7ekirde\u011fini ta\u015f\u0131maz; ana makinenin (host) \u00e7ekirde\u011fini payla\u015f\u0131r. Bu da container&#8217;lar\u0131 inan\u0131lmaz derecede hafif ve h\u0131zl\u0131 ba\u015flat\u0131labilir hale getirir. Container vs VM fark\u0131n\u0131 bir sonraki yaz\u0131da detayl\u0131 i\u015fliyoruz.<\/p>\n<\/div>\n<h2>Docker&#8217;\u0131n rol\u00fc ne?<\/h2>\n<p>Docker, container teknolojisini kullan\u0131c\u0131 dostu hale getiren ara\u00e7 ve platform b\u00fct\u00fcn\u00fcd\u00fcr. Linux \u00e7ekirde\u011finde uzun s\u00fcredir var olan <code>namespaces<\/code> ve <code>cgroups<\/code> gibi izolasyon mekanizmalar\u0131n\u0131, geli\u015ftiricilerin birka\u00e7 komutla kullanabilece\u011fi basit bir aray\u00fcze d\u00f6n\u00fc\u015ft\u00fcrd\u00fc. 2013&#8217;te a\u00e7\u0131k kaynak olarak yay\u0131nlanmas\u0131ndan bu yana, container&#8217;lar\u0131 neredeyse herkesin diline yerle\u015ftiren proje oldu.<\/p>\n<h3>Docker mimarisinin \u00fc\u00e7 temel par\u00e7as\u0131<\/h3>\n<ul>\n<li><strong>Docker \u0130maj\u0131 (Image):<\/strong> Uygulaman\u0131z\u0131n ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n salt-okunur bir anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fc. Bir tarif gibi d\u00fc\u015f\u00fcnebilirsiniz.<\/li>\n<li><strong>Docker Container:<\/strong> \u0130maj\u0131n \u00e7al\u0131\u015fan bir \u00f6rne\u011fi. Ayn\u0131 tarifden istedi\u011finiz kadar kopya (container) ba\u015flatabilirsiniz.<\/li>\n<li><strong>Docker Daemon &amp; CLI:<\/strong> Arka planda \u00e7al\u0131\u015fan <code>dockerd<\/code> servisi image&#8217;lar\u0131 ve container&#8217;lar\u0131 y\u00f6netir; siz de <code>docker<\/code> komut sat\u0131r\u0131 arac\u0131yla onunla konu\u015fursunuz.<\/li>\n<\/ul>\n<h2>\u0130lk container&#8217;\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmak<\/h2>\n<p>Docker kurulduktan sonra, tek bir komutla resmi bir imaj\u0131 indirip \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code>docker run --rm hello-world<\/code><\/pre>\n<p>Bu komut \u015fu ad\u0131mlar\u0131 izler: Docker \u00f6nce <code>hello-world<\/code> imaj\u0131n\u0131n yerelde olup olmad\u0131\u011f\u0131na bakar, yoksa Docker Hub&#8217;dan indirir, ard\u0131ndan bu imajdan yeni bir container ba\u015flat\u0131r. <code>--rm<\/code> bayra\u011f\u0131, container i\u015fini bitirince kendini otomatik silmesini sa\u011flar.<\/p>\n<p>Daha ger\u00e7ek\u00e7i bir \u00f6rnek olarak, bir Nginx web sunucusunu arka planda aya\u011fa kald\u0131ral\u0131m:<\/p>\n<pre><code>docker run -d --name ilk-sunucum -p 8080:80 nginx:alpine<\/code><\/pre>\n<p>Art\u0131k taray\u0131c\u0131n\u0131zdan <code>localhost:8080<\/code> adresine gidip Nginx&#8217;in kar\u015f\u0131lama sayfas\u0131n\u0131 g\u00f6rebilirsiniz \u2014 ve bu sunucu, ana makinenize hi\u00e7bir \u015fey kurmadan, tamamen izole bir container i\u00e7inde \u00e7al\u0131\u015f\u0131yor.<\/p>\n<h2>Neden \u00f6nemli?<\/h2>\n<p>Docker&#8217;\u0131n yayg\u0131nla\u015fmas\u0131n\u0131n arkas\u0131ndaki as\u0131l neden, &#8220;geli\u015ftirme ortam\u0131 = production ortam\u0131&#8221; e\u015fitli\u011fini pratik hale getirmesidir. Bir geli\u015ftirici kendi makinesinde \u00e7al\u0131\u015fan container&#8217;\u0131, aynen production sunucusuna ta\u015f\u0131yabilir. Bu, da\u011f\u0131t\u0131m (deployment) s\u00fcre\u00e7lerini basitle\u015ftirir, ortam kaynakl\u0131 hatalar\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde azalt\u0131r ve mikroservis mimarilerinin \u00f6n\u00fcn\u00fc a\u00e7ar.<\/p>\n<p>S\u0131radaki yaz\u0131da container&#8217;lar\u0131n sanal makinelerden (VM) nas\u0131l farkl\u0131la\u015ft\u0131\u011f\u0131na, kaynak kullan\u0131m\u0131ndan izolasyon seviyesine kadar detayl\u0131 bakaca\u011f\u0131z.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker&#8217;\u0131n ne oldu\u011funu, container kavram\u0131n\u0131n nereden geldi\u011fini ve ilk container&#8217;\u0131n\u0131z\u0131 nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 temelden \u00f6\u011frenin.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"seviye":[7],"class_list":["post-201","post","type-post","status-publish","format-standard","hentry","category-temel-kavramlar","seviye-baslangic"],"_links":{"self":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/posts\/201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/comments?post=201"}],"version-history":[{"count":1,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/posts\/201\/revisions"}],"predecessor-version":[{"id":564,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/posts\/201\/revisions\/564"}],"wp:attachment":[{"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/media?parent=201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/categories?post=201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/tags?post=201"},{"taxonomy":"seviye","embeddable":true,"href":"https:\/\/konteynerium.com\/index.php\/wp-json\/wp\/v2\/seviye?post=201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}