{"id":7902,"date":"2024-05-23T09:36:40","date_gmt":"2024-05-23T06:36:40","guid":{"rendered":"https:\/\/www.inetmar.com\/blog\/?p=7902"},"modified":"2024-07-29T10:55:12","modified_gmt":"2024-07-29T07:55:12","slug":"docker-nedir","status":"publish","type":"post","link":"https:\/\/www.inetmar.com\/blog\/docker-nedir\/","title":{"rendered":"Docker Nedir?"},"content":{"rendered":"<p><strong>Docker nedir<\/strong> konusunda yap\u0131lan ara\u015ft\u0131rmalarda bu yaz\u0131l\u0131m\u0131n yeni uygulamalar yaratma, y\u00f6netme ve \u00e7al\u0131\u015ft\u0131rma s\u00fcrecinde kolayl\u0131klar sundu\u011fu g\u00f6r\u00fclebilir. Ayn\u0131 anda birden \u00e7ok projenin olu\u015fturulmas\u0131 s\u0131ras\u0131nda pratik \u00e7\u00f6z\u00fcmler sunar.<\/p>\n<p>Bir makinede birden fazla uygulamay\u0131 \u00e7al\u0131\u015ft\u0131rabilmeniz Docker ile m\u00fcmk\u00fcn olur. Cihazda bulunan uygulaman\u0131n b\u00fct\u00fcn bile\u015fenlerinin ayr\u0131 Container\u2019de izole edilmesini sa\u011flayan bu yaz\u0131l\u0131m ile karma\u015fa olmadan ya da bir yaz\u0131l\u0131m\u0131 kullanmak i\u00e7in di\u011ferini kald\u0131rmaya gerek olmadan \u00e7al\u0131\u015fmalar y\u00fcr\u00fct\u00fclebilir.<\/p>\n<p>Docker bir bilgisayar\u0131n i\u015fletim sistemini sanalla\u015ft\u0131r\u0131r. Bu sayede uygulamalar altyap\u0131dan ayr\u0131larak kullan\u0131labilir. Solomon Hykes taraf\u0131ndan 2008\u2019de DotCloud kurulmu\u015ftur. Daha sonra ise 2013 y\u0131l\u0131nda PyCon\u2019da tan\u0131t\u0131m\u0131 yap\u0131lm\u0131\u015ft\u0131r. \u0130\u015flevselli\u011fi ve sundu\u011fu pratik \u00e7\u00f6z\u00fcmler ile k\u0131sa s\u00fcrede IBM, Microsoft, Red Hat \u015firketlerinin yan\u0131 s\u0131ra pek \u00e7ok b\u00fcy\u00fck \u015firket taraf\u0131ndan kullan\u0131lmaya ba\u015flanm\u0131\u015ft\u0131r. G\u00fcn\u00fcm\u00fczde 7 milyondan fazla uygulama i\u00e7in kullan\u0131lmaya devam edilmektedir. \u00dccretsiz a\u00e7\u0131k kaynakl\u0131 bir platform olan Docker\u2019in ticari kullan\u0131m i\u00e7in sat\u0131\u015f\u0131n\u0131 Docker Inc yapmaktad\u0131r.<\/p>\n<p>Docker nedir gibi ayn\u0131 zamanda container teknolojisinin de bilinmesi yararl\u0131d\u0131r. Container\u2019lar uygulamalar\u0131n farkl\u0131 i\u015fletim sistemlerinde \u00e7al\u0131\u015fabilmeleri i\u00e7in geli\u015ftirilmi\u015flerdir. Ayn\u0131 zamanda ta\u015f\u0131nabilir olma \u00f6zelli\u011fi ile farkl\u0131 bir i\u015fletim sisteminde tekrar kullan\u0131labilirler.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7906\" src=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d3d-300x113.png\" alt=\"docker nedir?\" width=\"828\" height=\"312\" srcset=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d3d-300x113.png 300w, https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d3d-1024x384.png 1024w, https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d3d-768x288.png 768w, https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d3d-1536x576.png 1536w, https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d3d.png 1600w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><br \/>\n<a class=\"waffle-rich-text-link\" href=\"https:\/\/www.inetmar.com\/sunucu\/rdp-server\/\">RDP server<\/a> paketlerimiz ile ihtiyac\u0131n\u0131za uygun \u00e7\u00f6z\u00fcmler sunuyoruz.<\/p>\n<h2><strong>Docker Ne \u0130\u015fe Yarar? <\/strong><\/h2>\n<p>Docker kulland\u0131\u011f\u0131 container teknoloji ile uygulamalar\u0131n h\u0131zl\u0131 bir \u015fekilde kurulmas\u0131, \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 ve da\u011f\u0131t\u0131lmas\u0131 i\u00e7in pratik \u00e7\u00f6z\u00fcm sunar. <strong>Docker ne i\u015fe yarar<\/strong> incelendi\u011finde \u00f6ncelikle uygulamalar\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131, test edilmesi ve da\u011f\u0131t\u0131lmas\u0131n\u0131n h\u0131zla yap\u0131labilmesini sa\u011flad\u0131\u011f\u0131 g\u00f6r\u00fcl\u00fcr. Container teknolojisini kullanan Docker ile uygulamalar makinelerde yer kaplamaz.<\/p>\n<p>Docker yeni nesil sanalla\u015ft\u0131rma teknolojisidir. Bunun yan\u0131nda benzerlerinden ayr\u0131lan taraf\u0131 ise sanal bir i\u015fletim sistemi kurmamas\u0131d\u0131r. Bunun yerine uygulamalar\u0131n makinede bulunan i\u015fletim sistemini kullanmalar\u0131n\u0131 sa\u011flar. Bu \u015fekilde makinede yer kaplama ve makinenin yava\u015flamas\u0131 gibi sorunlar ortaya \u00e7\u0131kmaz. Aksine Docker kullan\u0131lmas\u0131 ile birlikte web sitelerinin yo\u011fun trafik ald\u0131\u011f\u0131 anlarda olu\u015fturdu\u011fu containerler ile y\u00fck\u00fcn\u00fcz\u00fc hafifletir ve i\u015flemlerin yap\u0131lma h\u0131z\u0131n\u0131n d\u00fc\u015fmesinin \u00f6n\u00fcne ge\u00e7er.<\/p>\n<h2><strong>Docker Neden Kullan\u0131l\u0131r? <\/strong><\/h2>\n<p>2013 y\u0131l\u0131nda piyasaya s\u00fcr\u00fclen Docker bulutta hibrit ve yerel \u00e7\u00f6z\u00fcmler geli\u015ftirmek isteyen \u015firketlerin g\u00f6zdesi olmay\u0131 ba\u015farmaktad\u0131r. <strong>Docker neden kullan\u0131l\u0131r<\/strong> ara\u015ft\u0131rmas\u0131nda \u00f6ne \u00e7\u0131kan nokta yaz\u0131l\u0131m geli\u015ftirme projeleri oluyor. Yaz\u0131l\u0131m geli\u015ftirmenin yan\u0131nda uygulamalar\u0131n tutarl\u0131 teslimat\u0131n\u0131n sorunsuz olmas\u0131nda kullan\u0131ld\u0131\u011f\u0131 g\u00f6r\u00fcl\u00fcr. Docker sundu\u011fu h\u0131zl\u0131 ve pratik \u00e7\u00f6z\u00fcm ile sadece yaz\u0131l\u0131m geli\u015ftirme de\u011fil BT, sa\u011fl\u0131k, finans, e-ticaret gibi \u00e7ok say\u0131da sekt\u00f6rde yayg\u0131n olarak kullan\u0131l\u0131r. Docker neden kullan\u0131l\u0131r sorusuna da \u015fu nedenler \u015feklinde cevap verilmesi m\u00fcmk\u00fcn olur:<\/p>\n<ul>\n<li>Docker yaz\u0131l\u0131m geli\u015ftirme, test etme, hatalar\u0131n d\u00fczeltilmesi, geli\u015ftirilmesi ve da\u011f\u0131t\u0131lmas\u0131 i\u015flemlerini basitle\u015ftirir ve standartla\u015ft\u0131r\u0131r.<\/li>\n<li>Geli\u015ftirilen uygulamalar ve yaz\u0131l\u0131mlar i\u00e7in test a\u015famas\u0131n\u0131n kolay ve h\u0131zl\u0131 olmas\u0131n\u0131 sa\u011flar. Yeni bir cihazda t\u00fcm yaz\u0131l\u0131m\u0131n tekrar girilmesine gerek b\u0131rakmaz. Manuel i\u015flemler yerine otomatik olarak kurulum ve y\u00fckleme ger\u00e7ekle\u015ftirilir.<\/li>\n<li>Docker yap\u0131land\u0131ran dosyalar\u0131n\u0131 kodlar halinde saklar. Bu sayede yaz\u0131l\u0131m ne kadar karma\u015f\u0131k olursa olsun test edilme d\u00fczeltilme s\u00fcrecini kolayla\u015ft\u0131r\u0131r.<\/li>\n<li>Uygulaman\u0131z\u0131n bulut, diz \u00fcst\u00fc bilgisayar, hibrit veri merkezlerinde, yerel sunucularda sorunsuz \u00e7al\u0131\u015f\u0131r. Bu \u015fekilde \u00f6nemli bir i\u015f y\u00fck\u00fcnden kurtulman\u0131z m\u00fcmk\u00fcn olur.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7907 aligncenter\" src=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d4d-300x159.jpg\" alt=\"\" width=\"847\" height=\"449\" srcset=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d4d-300x159.jpg 300w, https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d4d.jpg 768w\" sizes=\"auto, (max-width: 847px) 100vw, 847px\" \/><\/li>\n<\/ul>\n<h2><strong>Docker Temel Bile\u015fenleri <\/strong><\/h2>\n<p>Docker i\u00e7inde \u00e7e\u015fitli bile\u015fenler bulunur. Bu bile\u015fenler sayesinde container olu\u015fturma ve ba\u015flatma i\u015flemi pratik ve h\u0131zl\u0131 \u015fekilde ger\u00e7ekle\u015ftirilir. <strong>Docker temel<\/strong> <strong>bile\u015fenleri<\/strong> neler oldu\u011funu bilmek yaz\u0131l\u0131m\u0131n \u00e7al\u0131\u015fma sistemini de anlamaya faydal\u0131 olur. Temel bile\u015fenleri \u015fu \u015fekildedir:<\/p>\n<h3><strong>Dockerfile<\/strong><\/h3>\n<p>Docker image olu\u015fturmak i\u00e7in gerekli olan talimatlar\u0131 sa\u011flayan \u00f6geye dockerfile ad\u0131 verilir. Bu talimatlar aras\u0131nda metin dosyas\u0131, i\u015fletim sistemi, \u00e7evresel de\u011fi\u015fkenler, diller, a\u011f ba\u011flant\u0131 noktalar\u0131 ve dosya konumlar\u0131 \u015feklindedir<strong>. Dockerfile<\/strong> ile olu\u015fturulan her talimat bir katman \u015feklindedir. Katmanlar halinde olmas\u0131 de\u011fi\u015ftirilmesi gerekti\u011fi durumlarda h\u0131z ve kolayl\u0131k sunar.<\/p>\n<h3><strong>Docker Image<\/strong><\/h3>\n<p>Docker container olu\u015fturmak i\u00e7in gerekli talimatlardan meydana gelen salt okunur \u015fablona <strong>Docker<\/strong> <strong>image<\/strong> ad\u0131 verilir. Docker yaz\u0131l\u0131m\u0131 olu\u015fturulmas\u0131nda en fazla olu\u015fturulan par\u00e7ad\u0131r. Kendi salt okunur \u015fablonlar\u0131n\u0131 olu\u015fturabilece\u011finiz gibi ba\u015fkalar\u0131 taraf\u0131ndan olu\u015fturulmu\u015f \u015fablonlar \u00fczerinde de de\u011fi\u015fiklikler yapabilirsiniz.<\/p>\n<h3><strong>Docker Hub<\/strong><\/h3>\n<p><strong>Docker hub<\/strong> bir havuz gibi d\u00fc\u015f\u00fcnmek m\u00fcmk\u00fcnd\u00fcr. Bu havuz i\u00e7inde bulunan container imageler depolan\u0131r, y\u00f6netilir ve payla\u015f\u0131l\u0131r.<\/p>\n<h3><strong>Docker Engine <\/strong><\/h3>\n<p>Docker\u2019in \u00e7ekirde\u011fi olarak <strong>Docker engine<\/strong> yer al\u0131r. Temelinde bulunan istemci-sunucu teknolojisi ile container olu\u015fturulur ve \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. \u0130\u015f y\u00fck\u00fcn\u00fcn \u00f6nemli bir b\u00f6l\u00fcm\u00fc Docker engine \u00fczerindedir. Uygulamalar\u0131 oldu\u011fu gibi altyap\u0131y\u0131 da yeniden yap\u0131land\u0131rabilmeyi ve y\u00f6netmeyi sa\u011flar.<\/p>\n<h3><strong>Docker Compose<\/strong><\/h3>\n<p>Birden \u00e7ok containerli uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmaya ve tan\u0131mlamaya yarayan YAML dosyalar\u0131n\u0131 i\u00e7eren komut sat\u0131r\u0131na <strong>Docker Compose <\/strong>ad\u0131 verilir. Hizmetlerinizin g\u00fcnl\u00fck durumunu bu komutla g\u00f6rebilir ve \u00e7\u0131kt\u0131s\u0131n\u0131 alabilirsiniz.<\/p>\n<h3><strong>Docker Desktop<\/strong><\/h3>\n<p><strong>Docker desktop<\/strong> masa\u00fcst\u00fc uygulamas\u0131nda b\u00fct\u00fcn par\u00e7alar\u0131n kolayca bulunmas\u0131n\u0131 sa\u011flar. Bunun yan\u0131nda payla\u015fmay\u0131 da m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<h3><strong>Docker Daemon<\/strong><\/h3>\n<p><strong>Docker daemon<\/strong> bir arka plan hizmetidir. Ana bilgisayarda \u00e7al\u0131\u015f\u0131r ve APII \u00e7a\u011fr\u0131lar\u0131n\u0131 dinler. Docker daemon containerler olu\u015fturur, \u00e7al\u0131\u015ft\u0131r\u0131r ve da\u011f\u0131t\u0131r.<\/p>\n<h3><strong>Docker Container<\/strong><\/h3>\n<p><strong>Docker container<\/strong> CLI kullan\u0131larak olu\u015fturulur. \u0130mage \u00f6rne\u011fi olarak yer al\u0131r. Bir container birden fazla a\u011fa ba\u011flanabilir ve yeniden yap\u0131land\u0131r\u0131labilir<\/p>\n<h3><strong>Docker Client<\/strong><\/h3>\n<p><strong>Docker client<\/strong> bir komut sat\u0131r\u0131 arac\u0131d\u0131r. Bu komut ile kullan\u0131c\u0131 program\u0131n arka plan\u0131 ile etkile\u015fime girmesi m\u00fcmk\u00fcn olur. A\u011f ge\u00e7idi ya da arabirim olarak tan\u0131mlayabilece\u011fimiz client bir \u00fcr\u00fcn\u00fc kullanmaya izin verir.<\/p>\n<p><a href=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d2d.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-7905 aligncenter\" src=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d2d-300x75.png\" alt=\"\" width=\"864\" height=\"216\" srcset=\"https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d2d-300x75.png 300w, https:\/\/www.inetmar.com\/blog\/wp-content\/uploads\/2024\/05\/d2d.png 624w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/a><\/p>\n<h2><strong>Docker&#8217;in Avantajlar\u0131 Nelerdir?<\/strong><\/h2>\n<p><strong>Docker\u2019\u0131n avantajlar\u0131<\/strong> olduk\u00e7a fazlad\u0131r. Bundan dolay\u0131 da g\u00fcn\u00fcm\u00fczde \u00e7ok say\u0131da \u015firketin kulland\u0131\u011f\u0131 g\u00f6r\u00fclmektedir. Uygulama olu\u015fturma, geli\u015ftirme, test etme ve da\u011f\u0131tma s\u00fcrecini basitle\u015ftirmesi ile \u00f6ne \u00e7\u0131kar.<\/p>\n<p>Bir uygulaman\u0131n geli\u015ftirilmesi, da\u011f\u0131t\u0131m\u0131n\u0131n yap\u0131lmas\u0131 daha sonra bak\u0131m\u0131n\u0131n ayn\u0131 ortamda yap\u0131labilmesini m\u00fcmk\u00fcn k\u0131lar. Docker kullanmak geli\u015ftirilen uygulaman\u0131n b\u00fct\u00fcn platformlarda sorunsuz olarak \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Container teknolojisini kullanmas\u0131 ile yer kaplamaz ve cihazlar\u0131n a\u011f\u0131rla\u015fmas\u0131na neden olmaz.<\/p>\n<p>Docker ile altyap\u0131 maliyetleri minimize edilebilir. \u0130\u015fletim sistemlerinin azalmas\u0131n\u0131 sa\u011flar ve yat\u0131r\u0131mlar\u0131n farkl\u0131 y\u00f6nde yap\u0131labilmesini m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<p>Sizlerde projeleriniz i\u00e7in <a href=\"https:\/\/www.inetmar.com\/sunucu\/dedicated-server\/\" target=\"_blank\" rel=\"noopener\">sunucu<\/a> hizmetlerimizden yararlanmak i\u00e7in <a href=\"https:\/\/www.inetmar.com\/\">websitemizi<\/a> ziyaret edebilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker nedir konusunda yap\u0131lan ara\u015ft\u0131rmalarda bu yaz\u0131l\u0131m\u0131n yeni uygulamalar yaratma, y\u00f6netme ve \u00e7al\u0131\u015ft\u0131rma s\u00fcrecinde kolayl\u0131klar sundu\u011fu g\u00f6r\u00fclebilir. Ayn\u0131 anda birden \u00e7ok projenin olu\u015fturulmas\u0131 s\u0131ras\u0131nda pratik \u00e7\u00f6z\u00fcmler sunar. Bir makinede birden fazla uygulamay\u0131 \u00e7al\u0131\u015ft\u0131rabilmeniz Docker ile&#46;&#46;&#46;<\/p>\n","protected":false},"author":2,"featured_media":7903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-7902","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel"],"_links":{"self":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts\/7902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/comments?post=7902"}],"version-history":[{"count":10,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts\/7902\/revisions"}],"predecessor-version":[{"id":9603,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/posts\/7902\/revisions\/9603"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/media\/7903"}],"wp:attachment":[{"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/media?parent=7902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/categories?post=7902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inetmar.com\/blog\/wp-json\/wp\/v2\/tags?post=7902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}