{"id":34770,"date":"2023-08-11T15:07:00","date_gmt":"2023-08-11T12:07:00","guid":{"rendered":"https:\/\/www.natro.com\/blog\/?p=34770"},"modified":"2023-10-06T10:05:19","modified_gmt":"2023-10-06T07:05:19","slug":"docker-nedir-ne-ise-yarar","status":"publish","type":"post","link":"https:\/\/www.natro.com\/blog\/docker-nedir-ne-ise-yarar\/","title":{"rendered":"Docker Nedir, Ne \u0130\u015fe Yarar?"},"content":{"rendered":"\n<p>Docker, pop\u00fcler ve b\u00fcy\u00fck \u015firketlerin de kullan\u0131m\u0131yla pop\u00fcler hale geldi. Daha sonra Docker kullan\u0131m\u0131 di\u011fer \u015firketler taraf\u0131ndan da tercih edilmeye ba\u015flad\u0131. Docker \u2018\u0131 k\u0131saca tan\u0131mlamak gerekirse, birbirinden ba\u011f\u0131ms\u0131z binlerce container\u2019lardan olu\u015fan bir teknolojidir denebilir. Open Source bir teknolojidir. Open Source bir teknoloji olmas\u0131 bir avantajd\u0131r. \u00c7\u00fcnk\u00fc isteyen herkes Docker\u2019\u0131n geli\u015fimine katk\u0131 sa\u011flayabilir.\u00a0\u00a0<\/p>\n\n\n\n<p>Docker, uygulamalar\u0131n\u0131z\u0131 daha h\u0131zl\u0131 derlemenizi, uygulamalar\u0131n\u0131z\u0131n testini yap\u0131p da\u011f\u0131t\u0131m\u0131n\u0131 ger\u00e7ekle\u015ftirmenizi sa\u011flayan bir platformdur. Ayn\u0131 i\u015fletim sistemi \u00fczerinde birbirinden ba\u011f\u0131ms\u0131z ve izole bir \u015fekilde container\u2019lar bulunur. \u00c7ok say\u0131da bulunan container\u2019larda birden fazla farkl\u0131 uygulamalar \u00e7al\u0131\u015ft\u0131r\u0131labilir.<\/p>\n\n\n\n<p>Docker uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmak ve depolamak gibi i\u015flemleri yerine getirir. Docker bu i\u015flemi yerine getirebilmek i\u00e7in container\u2019lar olu\u015fturur ayr\u0131ca sanalla\u015ft\u0131rmadan faydalan\u0131r. Fakat bu sanalla\u015ft\u0131rma ile sanal makineler ile kar\u0131\u015ft\u0131rmamal\u0131s\u0131n\u0131z. Sanal makineler ve Docker ayn\u0131 yap\u0131ya sahip de\u011fildir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-in-sanal-makineden-farklari\"><span id=\"dockerin-sanal-makineden-farklari\">Docker\u2019\u0131n Sanal Makineden Farklar\u0131<\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker container\u2019lar\u0131 kaynak a\u00e7\u0131s\u0131ndan daha verimlidir. Daha h\u0131zl\u0131 \u00e7al\u0131\u015f\u0131rlar ve daha hafiftirler.<\/li>\n\n\n\n<li>Sanal makinelerde her uygulama i\u00e7in bir i\u015fletim sistemi ve ilgili k\u00fct\u00fcphaneler varken Docker\u2019da tek bir i\u015fletim sistemi vard\u0131r.<\/li>\n\n\n\n<li>Docker tek bir i\u015fletim sistemi \u00fczerinde container yap\u0131lar\u0131 kullan\u0131r.<\/li>\n\n\n\n<li>Docker\u2019\u0131n container yap\u0131lar\u0131 sayesinde uygulama boyutu azal\u0131r. Ayr\u0131ca b\u00fcy\u00fck \u00f6l\u00e7\u00fcde performans art\u0131\u015f\u0131 da sa\u011flar.<\/li>\n\n\n\n<li>Docker\u2019da container\u2019lar uygulama d\u00fczeyinde sanalla\u015ft\u0131r\u0131l\u0131r.<\/li>\n\n\n\n<li>Uygulamalar\u0131 farkl\u0131 ortamda \u00e7al\u0131\u015facak \u015fekilde tutmalar\u0131 da Docker container\u2019lar\u0131n farkl\u0131l\u0131klar\u0131ndand\u0131r. Bu sayede uyumsuzluk sorunu da engellenmi\u015f olur.<\/li>\n\n\n\n<li>Maliyetleri sanal makinelere g\u00f6re daha uygundur.<\/li>\n\n\n\n<li>Daha az maliyetle daha fazla i\u015f y\u00fck\u00fc sa\u011flar.<\/li>\n\n\n\n<li>Docker\u2019lar daha h\u0131zl\u0131 \u00f6l\u00e7eklendirilmeyi sa\u011flar.<\/li>\n\n\n\n<li>Daha h\u0131zl\u0131 ve sorunsuz deployment s\u00fcreci vard\u0131r. yaz\u0131l\u0131mc\u0131lar a\u00e7\u0131s\u0131ndan da b\u00fcy\u00fck kolayl\u0131klar sa\u011flamaktad\u0131r. Yaz\u0131l\u0131m sekt\u00f6r\u00fcnde \u00e7al\u0131\u015fanlar\u0131n fazlas\u0131yla kar\u015f\u0131la\u015ft\u0131klar\u0131 bir sorun vard\u0131r. O da yaz\u0131l\u0131mc\u0131n\u0131n kendi makinesinde gayet sorunsuz \u00e7al\u0131\u015fan yaz\u0131l\u0131m\u0131n sunucuda \u00e7al\u0131\u015fmama sorunudur. Docker sayesinde bu sorun \u00e7\u00f6z\u00fclm\u00fc\u015f olur. Docker i\u00e7in yeni environment kurulumu gerekmez.<\/li>\n<\/ul>\n\n\n\n<p>Docker ve sanal makinelerin yukar\u0131da g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi avantaj ve dezavantajlar\u0131 vard\u0131r. Fakat Docker\u2019\u0131n avantajlar\u0131n\u0131n daha fazla ve kritik \u00f6neme sahip avantajlar oldu\u011funu g\u00f6rebilirsiniz. Hem maliyet hem de performans a\u00e7\u0131s\u0131ndan da iyi \u00f6zelliklere sahiptir.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-hakkinda-bilmeniz-gereken-terimler-ve-bilesenler\"><span id=\"docker-hakkinda-bilmeniz-gereken-terimler-ve-bilesenler\">Docker Hakk\u0131nda Bilmeniz Gereken Terimler ve Bile\u015fenler<\/span><\/h2>\n\n\n\n<p>Docker\u2019\u0131 kullanmadan \u00f6nce iyice anlayabilmek i\u00e7in Docker ile ilgili bilgi sahibi olman\u0131z gereken terimler ve bile\u015fenler vard\u0131r. Bile\u015fenlerin temel \u00e7al\u0131\u015fma mant\u0131\u011f\u0131n\u0131 bilmek de Docker\u2019\u0131 do\u011fru bir \u015fekilde kullanabilmeniz i\u00e7in \u00e7ok \u00f6nemlidir.<\/p>\n\n\n\n<p><strong>Image:<\/strong> Container\u2019lar i\u00e7erisinde uygulamalar bar\u0131nd\u0131rmaktad\u0131r. Image\u2019ler ise container\u2019lar\u0131 olu\u015fturmak i\u00e7in kullan\u0131lan paketlerdir.\u00a0<\/p>\n\n\n\n<p><strong>Container<\/strong>: Imageler ile \u00fcretilen host i\u015fletim sistemleri \u00fczerinde \u00e7al\u0131\u015fan veya \u00e7al\u0131\u015fmaya haz\u0131rlanm\u0131\u015f ortamlard\u0131r. Sanal makinedeki her iletim sistemine kar\u015f\u0131l\u0131k Docker\u2019da container\u2019lar vard\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker-1024x576.jpg\" alt=\"\" class=\"wp-image-31033\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker-1024x576.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker-300x169.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker-768x432.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker-1536x864.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker-2048x1152.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2021\/01\/docker.jpg 2560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>DockerFile:<\/strong> Docker\u2019a \u00f6zel dosya bi\u00e7imidir. Bu \u00f6zel dosya bi\u00e7imleri , belirlenmi\u015f bir tak\u0131m kural ve komutlar\u0131 i\u00e7erir. DockerFile Image \u00fcretmek i\u00e7in kullan\u0131l\u0131r. Bir bak\u0131ma Image\u2019lerin kayd\u0131n\u0131 yapan bir dosyad\u0131r. her image bu dosyan\u0131n alt\u0131nda tan\u0131mlanmal\u0131d\u0131r.<\/p>\n\n\n\n<p><strong>DockerHub:<\/strong> Bir \u00e7e\u015fit community deposu denebilir. Bu depoda Docker image\u2019ler payla\u015f\u0131l\u0131r.<\/p>\n\n\n\n<p><strong>Docker Deamon: <\/strong>\u0130\u015fletim sistemine ait i\u015flemler burada yap\u0131l\u0131r.(CPU,RAM)<\/p>\n\n\n\n<p><strong>Docker Registry: <\/strong>Image\u2019ler Docker Registry\u2019de tutulur.<\/p>\n\n\n\n<p><strong>Docker CLI:<\/strong> Kullan\u0131c\u0131 ile Docker Deamon aras\u0131nda ileti\u015fim sa\u011flar. Docker komutlar\u0131 bu ekranda \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Docker ile etkile\u015fime girdi\u011finiz ekran buras\u0131d\u0131r.<\/p>\n\n\n\n<p><strong>Docker Compose:<\/strong> Container ile Docker uygulamalar\u0131 tan\u0131mlan\u0131r ve \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Docker uygulamalar\u0131 birden fazla container\u2019a sahip oldu\u011fu i\u00e7in Docker Compose kullan\u0131\u015fl\u0131d\u0131r. Uygulaman\u0131z\u0131n yap\u0131land\u0131rma hizmetlerini YAML dosyas\u0131 ile yapars\u0131n\u0131z. Docker Compose\u2019\u0131n , veritataban\u0131 , mikroservis gibi ba\u011f\u0131ml\u0131l\u0131klardan olu\u015fan yap\u0131lar i\u00e7in kullan\u0131lmas\u0131 uygundur. tek bir komutla, uygulama i\u00e7in gerekli t\u00fcm servisleri y\u00f6netmenizi ve ayarlamalar\u0131n\u0131 yapman\u0131z\u0131 sa\u011flar.<\/p>\n\n\n\n<p><strong>Container Engine: <\/strong>Docker teknolojisi Linux Containers \u00fczerine kurulmu\u015ftur. Linux Containers Linux sisteminde en alt seviyede bulunan Linux Kernel\u2019e eklenmi\u015ftir. Docker tek bir i\u015fletim sistem \u00fczerinde container\u2019lar olu\u015fturur. Uygulamalar\u0131n da\u011f\u0131l\u0131m\u0131n\u0131 container\u2019lar \u00fczerinde otomatik olarak sa\u011flar. Docker bu \u00f6zellikleri ile Container Engine olarak tan\u0131mlan\u0131r.<\/p>\n\n\n\n<p><strong>Docker Swarm: <\/strong>Uygulamalar\u0131n\u0131z, vertaban\u0131 , web sunucular\u0131, uygulama sunucular\u0131 gibi b\u00fcy\u00fck bile\u015fenlerden olu\u015fur. Docker Swarm ile b\u00fcy\u00fck bile\u015fenlerden olu\u015fan uygulamalar\u0131n\u0131z\u0131 y\u00f6netebilirsiniz. Uygulamalar\u0131n\u0131z\u0131n fazla y\u00fck alt\u0131nda \u00e7al\u0131\u015fmas\u0131 gerekti\u011fi durumlarda Docker Swarm ile kolayca \u00f6l\u00e7eklendirme yapabilirsiniz.\u00a0<\/p>\n\n\n\n<p><strong>Docker Volume:<\/strong> Container\u2019lar stateless\u2019t\u0131r. Yani hi\u00e7bir durum verisi tutmazlar. Bir container uzun s\u00fcre start\/stop \u015feklinde kullan\u0131l\u0131rsa verileriniz kaybetmeden kullanabilirsiniz. Fakat bu durum Docker\u2019\u0131n do\u011fas\u0131na uygun de\u011fildir. Bu kullan\u0131m Docker i\u00e7in uygun ve etkin bir y\u00f6ntem de\u011fildir. Container\u2019lardan ba\u011f\u0131ms\u0131z olarak \u00e7al\u0131\u015fan ,Docker\u2019\u0131n y\u00f6netti\u011fi ve kal\u0131c\u0131 veriler i\u00e7in kullan\u0131lan yard\u0131mc\u0131 mekanizma Docker Volume\u2019d\u00fcr.<\/p>\n\n\n\n<p><strong>Docker Engine:<\/strong> Docker Engine, Docker platformunun en \u00f6nemli bile\u015fenlerindendir. Platformun kalbi olarak nitelendirilebilir. Docker Engine istemci sunucu uygulamas\u0131 olarak \u00e7al\u0131\u015f\u0131r. \u0130stemci sunucu uygulamas\u0131 Windows ve Linux makineler \u00fczerine kurulabilir.<\/p>\n\n\n\n<p>Docker Engine de 3 farkl\u0131 bile\u015fenden olu\u015fur. Bunlar sunucu, REST API , komut sat\u0131r\u0131 arabirimi (CLI)\u2019dir. Bile\u015fenlerden sunucu, image, container gibi Docker objelerinin olu\u015fturulmas\u0131n\u0131 ve bu objelerin y\u00f6netilmesini sa\u011flar. programlar ve docker daemon aras\u0131nda ileti\u015fim kurulmas\u0131 gerekir. Bu ileti\u015fim REST API sayesinde olur. REST API docker\u2019\u0131 ne yapmas\u0131 gerekti\u011fi konusunda y\u00f6nlendirir. Komut sat\u0131r\u0131 arabirimi ise Docker komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmaktan sorumludur.<\/p>\n\n\n\n<p>Docker terimleri ve bile\u015fenlerini k\u0131saca a\u00e7\u0131kland\u0131. Bu terimler hakk\u0131nda bilgi sahibi olmak Docker\u2019\u0131n kullan\u0131m\u0131na ge\u00e7meden \u00f6nce haz\u0131rl\u0131k a\u00e7\u0131s\u0131ndan \u00e7ok \u00f6nemliydi. Bile\u015fenleri ve ne i\u015fe yarad\u0131klar\u0131n\u0131 bilmek Docker kullan\u0131m\u0131n\u0131 anlaman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Buraya kadar Docker nedir? Docker ile ilgili temel terimler nelerdir? Docker ve sanal makine aras\u0131ndaki farklar nelerdir? sorular\u0131na yan\u0131t verildi. Peki Docker ne i\u015fe yarar? \u015eimdi s\u0131ra bu soruda.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-1024x683.jpg\" alt=\"\" class=\"wp-image-34736\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-1024x683.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-300x200.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-768x512.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-1536x1024.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-2048x1365.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-380x253.jpg 380w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-800x533.jpg 800w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-1160x773.jpg 1160w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-760x507.jpg 760w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-1600x1067.jpg 1600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-2320x1547.jpg 2320w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2-600x400.jpg 600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2.jpg 2508w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-ne-ise-yarar\"><span id=\"docker-ne-ise-yarar\">Docker Ne \u0130\u015fe Yarar?<\/span><\/h2>\n\n\n\n<p>Docker, bar\u0131nd\u0131rd\u0131\u011f\u0131 container\u2019larda \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131 uygulamalar\u0131n kolay ve h\u0131zl\u0131 bir \u015fekilde bir araya getirilmesini sa\u011flar. Uygulamalar\u0131n test edilmesine ve da\u011f\u0131t\u0131lmas\u0131na olanak tan\u0131r. Docker, yaz\u0131l\u0131m\u0131n \u00e7al\u0131\u015fma s\u00fcrecinde kullan\u0131lan her bile\u015feni container birimleri halinde paketler. Yaz\u0131l\u0131m\u0131n \u00e7al\u0131\u015fma s\u00fcrecindeki bile\u015fenlere \u00f6rnek olarak k\u00fct\u00fcphaneler, \u00e7al\u0131\u015fma zamanlar\u0131, \u00e7al\u0131\u015fma ara\u00e7lar\u0131 verilebilir.<\/p>\n\n\n\n<p>Docker sayesinde veri ortamlar\u0131na h\u0131zl\u0131 bir \u015fekilde veri da\u011f\u0131t\u0131labilir. Kodlar\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olabilirsiniz. Docker kullan\u0131m\u0131 ile\u00a0daha rahat ve sorunsuz \u00f6l\u00e7eklendirme yap\u0131labilir.<\/p>\n\n\n\n<p>Bir bulut platformda Docker\u2019\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda uygulama olu\u015fturma, g\u00f6nderme ve \u00e7al\u0131\u015ft\u0131rma \u00e7ok b\u00fcy\u00fck \u00f6l\u00e7\u00fcde g\u00fcvenli olacakt\u0131r. Ayr\u0131ca bir sunucu kiralamaya g\u00f6re maliyet olduk\u00e7a d\u00fc\u015f\u00fck olur.<\/p>\n\n\n\n<p>Docker, mikroservis mimarisinde de olduk\u00e7a verimli \u00e7al\u0131\u015f\u0131r. Mikroservis mimarisi birden fazla k\u00fc\u00e7\u00fck uygulamalardan olu\u015fur. Bir uygulaman\u0131n k\u00fc\u00e7\u00fck ama kendi i\u00e7inde \u00e7al\u0131\u015fabilen par\u00e7alara b\u00f6l\u00fcnm\u00fc\u015f hali gibi d\u00fc\u015f\u00fcnebilirsiniz. Mikroservisler k\u00fc\u00e7\u00fck uygulamalara benzedi\u011finden her k\u00fc\u00e7\u00fck uygulama i\u00e7in bir sanal makine atamak gerekir. Bir uygulaman\u0131n k\u00fc\u00e7\u00fck bir b\u00f6l\u00fcm\u00fcne bir sanal makine atamak kaynak kullan\u0131m\u0131 a\u00e7\u0131s\u0131ndan olduk\u00e7a verimsizdir. Docker kullan\u0131m\u0131 ile ise ayn\u0131 sunucu \u00fczerinde binlerce uygulama \u00e7al\u0131\u015fabilir. Docker, mikroservis i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n\n\n\n<p>Docker, az kaynakla \u00e7ok i\u015f y\u00fck\u00fc yapabilir. Verimlilik a\u00e7\u0131s\u0131ndan Docker\u2019\u0131 g\u00fcvenle tercih edebilirsiniz. Docker, uygulama i\u015flemlerini standart hale getirir. Kod ta\u015f\u0131ma i\u015flemi \u00e7o\u011fu zaman \u00e7ok sorunlu bir i\u015ftir. Sorun \u00e7\u0131kmas\u0131n diye endi\u015feli bir \u015fekilde beklemeyi gerektiren bir s\u00fcre\u00e7tir. Fakat Docker bu s\u00fcreci sorunsuz ve kolay bir \u015fekilde halletmenizi sa\u011flar. Docker h\u0131z bak\u0131m\u0131ndan da olduk\u00e7a etkindir. K\u0131sa zaman i\u00e7inde daha \u00e7ok yaz\u0131l\u0131m da\u011f\u0131tman\u0131za olanak tan\u0131r. Tabii ki tart\u0131\u015f\u0131lmaz olarak Docker \u2018\u0131n sa\u011flad\u0131\u011f\u0131\u00a0en \u00f6nemli avantajlardan biri tasarruf etmenizdir.<\/p>\n\n\n\n<p>Docker, Sanal makeinedeki gibi bir Hypervisor ve i\u015fletim sistemi kullanmaz. Bu sayede saniyeler i\u00e7erisinde kullan\u0131ma haz\u0131rd\u0131r. G\u00fcn\u00fcm\u00fcz \u015fartlar\u0131nda yaz\u0131l\u0131m alan\u0131nda h\u0131z\u0131n \u00f6nemi d\u00fc\u015f\u00fcn\u00fcld\u00fc\u011f\u00fcnde bu durum kritik bir avantaj sa\u011flar.<\/p>\n\n\n\n<p>Docker uygulamalar\u0131n\u0131z\u0131 standart hale getirir. Bu sayede her platformda ayn\u0131 \u015fekilde \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n\n\n\n<p>Uygulamalar\u0131n\u0131z belli bir trafikle sorunsuz bir \u015fekilde \u00e7al\u0131\u015f\u0131rken baz\u0131 durumlarda beklenmedik y\u00fcksek trafikle kar\u015f\u0131la\u015fabilirsiniz. Bu durumda normal bir sunucuyla \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda uygulamalar\u0131n\u0131z yo\u011fun trafik y\u00fcz\u00fcnden \u00e7al\u0131\u015famama durumuna gelebilir. Ama bu durum Docker\u2019 da b\u00f6yle de\u011fildir. Beklenmedik bir trafik geldi\u011finde gerekli Container\u2019lar olu\u015ftularak trafi\u011fin olu\u015fturdu\u011fu y\u00fck kar\u015f\u0131lan\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-1024x683.jpg\" alt=\"\" class=\"wp-image-34733\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-1024x683.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-300x200.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-768x512.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-1536x1024.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2048x1365.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-380x253.jpg 380w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-800x533.jpg 800w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-1160x773.jpg 1160w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-760x507.jpg 760w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-1600x1067.jpg 1600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-2320x1547.jpg 2320w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu-600x400.jpg 600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/07\/Kubernetes-sunucu.jpg 2508w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-nasil-calisir\"><span id=\"docker-nasil-calisir\">Docker Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/span><\/h2>\n\n\n\n<p>Docker her sunucuya y\u00fcklenebilir. Container\u2019lara y\u00f6nelik teknoloji oldu\u011fu i\u00e7in container\u2019lar\u0131 ba\u015fiatmak, \u00e7al\u0131\u015ft\u0131rmak ve durdurmak i\u00e7in komutlar\u0131 girmeniz i\u00e7in bir ekran sa\u011flar.<\/p>\n\n\n\n<p>Sanal makineler nas\u0131l sunucu donan\u0131m\u0131n\u0131 sanalla\u015ft\u0131r\u0131yorsa, ayn\u0131 \u015fekilde container\u2019lar da sunucunun i\u015fletim sistemini sanalla\u015ft\u0131rarak mekanizmay\u0131 sa\u011flarlar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cok-kullanilan-docker-komutlari\"><span id=\"cok-kullanilan-docker-komutlari\">\u00c7ok Kullan\u0131lan Docker Komutlar\u0131<\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>docker ps :<\/strong> \u00e7al\u0131\u015fmakta olan Container\u2019lar\u0131 listeler.<\/li>\n\n\n\n<li><strong>docker ps-a <\/strong>: Docker Deamon\u2019daki t\u00fcm Container\u2019laro listeler.<\/li>\n\n\n\n<li><strong>docker images<\/strong> : Local Registry \u2018de bulunan t\u00fcm image\u2019leri listeler.<\/li>\n\n\n\n<li><strong>docker ps-aq <\/strong>: Docker Deamon \u00fczerineki t\u00fcm Container\u2019lar\u0131n id\u2019lerini listeler.<\/li>\n\n\n\n<li><strong>docker start<container_id> <\/strong>: Container durdurulmu\u015f ise tekrar ba\u015flat\u0131r.<\/li>\n\n\n\n<li><strong>docker stop <container_id> <\/strong>: \u00c7al\u0131\u015fan ilgili container\u2019\u0131 durduran komut.<\/li>\n\n\n\n<li><strong>docker pause <container_id> <\/strong>: \u00c7al\u0131\u015fan Container \u2018\u0131n \u00e7al\u0131\u015fmas\u0131na ara verdirir<\/li>\n\n\n\n<li><strong>docker rm -v <container_id> <\/strong>: \u00c7al\u0131\u015fan ilgili container\u2019lar\u0131 ili\u015fkili oldu\u011fu volum\u2019lerle beraber kald\u0131r\u0131r.<\/li>\n\n\n\n<li><strong>docker rm <container_id><\/strong> : \u00c7al\u0131\u015fan ilgili container\u2019\u0131 kald\u0131r\u0131r. Ama container\u2019\u0131n ili\u015fkili oldu\u011fu Volum\u2019ler kald\u0131r\u0131lmaz.<\/li>\n\n\n\n<li><strong>docker info :<\/strong> Docker Deamon hakk\u0131nda \u00f6zet bilgileri listeler. Bazen Docker deaoman ile ilgili bilgileri g\u00f6rmek isteyebilirsiniz. Bu durumlarda yararl\u0131 bir komuttur.<\/li>\n\n\n\n<li><strong>docker rm $(docker ps -aq) <\/strong>: \u00e7al\u0131\u015fan b\u00fct\u00fcn container\u2019lar\u0131 kald\u0131r\u0131r. Dikkatli kullan\u0131lmas\u0131 gereken bir komuttur.\u00a0 \u00a0<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-in-kullanim-kolayligi\"><span id=\"dockerin-kullanim-kolayligi\">Docker\u2019\u0131n Kullan\u0131m Kolayl\u0131\u011f\u0131<\/span><\/h2>\n\n\n\n<p>Docker\u2019\u0131n bir container teknolojisi olmas\u0131 beraberinde bir\u00e7ok avantaj getirmektedir. Teknoloji sekt\u00f6r\u00fcnden bir \u00e7al\u0131\u015fma \u00f6rne\u011fi vermek gerekirse, siz ve geli\u015ftirici ekibinizin bir\u00e7ok uygulama geli\u015ftirdi\u011finizi d\u00fc\u015f\u00fcn\u00fcn. Gerekli bir\u00e7ok servisi kendi bilgisayar\u0131n\u0131za indirmeniz gerekir. Daha sonra bu servisleri yap\u0131land\u0131rman\u0131z ve \u00e7al\u0131\u015ft\u0131rman\u0131z gerekecektir. Bu \u00f6ncelikle b\u00fcy\u00fck bir zaman kayb\u0131na neden olacakt\u0131r. Hem de ekibinizdekilerin her birinin farkl\u0131 i\u015fletim sistemine sahip bilgisayarlar\u0131 oldu\u011fu d\u00fc\u015f\u00fcn\u00fcld\u00fc\u011f\u00fcnde, bu durum bir\u00e7ok soruna sebep olacakt\u0131r.<\/p>\n\n\n\n<p>Container\u2019lar sayesinde servisleri indirirken ya\u015fanan hatalarla kar\u015f\u0131la\u015fma s\u00fcreci \u00f6nlenmi\u015f olur. Ayr\u0131ca zamandan da tasarruf edilmi\u015f olur. Container\u2019lar sayesinde servisleri direk bilgisayar\u0131n\u0131z\u0131n i\u015fletim sistemine indirmenize gerek kalmaz. B\u00f6ylece yap\u0131land\u0131rma, \u00e7al\u0131\u015ft\u0131rma gibi gereksiz s\u00fcre\u00e7lerle u\u011fra\u015fman\u0131z gerekmez. Burada \u00f6nemli olan Docker komutlar\u0131na hakim olup gerekli komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmakt\u0131r. Tek yapman\u0131z gereken ilgili komut ile container\u2019\u0131 indirmektir.<\/p>\n\n\n\n<p>Docker\u2019\u0131 kurduktan sonra, kulland\u0131\u011f\u0131n\u0131z b\u00fct\u00fcn yaz\u0131l\u0131mlar\u0131n orijinal lisansl\u0131 olmas\u0131 gerekti\u011fini unutmay\u0131n. \u00c7\u00fcnk\u00fc korsan ve lisanss\u0131z yaz\u0131l\u0131m kullanmak, sizi k\u00f6t\u00fc ama\u00e7l\u0131 yaz\u0131l\u0131m sald\u0131r\u0131lar\u0131na kar\u015f\u0131 daha fazla risk alt\u0131na sokar. Yasad\u0131\u015f\u0131 lisansl\u0131 yaz\u0131l\u0131m kullan\u0131m\u0131 ve korsan sitelerini ziyaret eden veya lisanss\u0131z yaz\u0131l\u0131m indiren ki\u015filerin cihazlar\u0131na veya a\u011flar\u0131na y\u00f6nelik k\u00f6t\u00fcc\u00fcl yaz\u0131l\u0131m sald\u0131r\u0131lar\u0131na maruz kalma olas\u0131l\u0131\u011f\u0131 artar.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/02\/blog-header.jpg\" alt=\"\" class=\"wp-image-34436\" style=\"width:680px;height:249px\" width=\"680\" height=\"249\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/02\/blog-header.jpg 600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/02\/blog-header-300x110.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/02\/blog-header-380x139.jpg 380w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/figure>\n\n\n\n<p class=\"has-background\" style=\"background-color:#cae9fc\">\u0130statistiklere g\u00f6re; crack yaz\u0131l\u0131m, ters proxy,\u00a0<strong>lisanss\u0131z yaz\u0131l\u0131m\u00a0<\/strong>kullanan web siteleri, di\u011fer web sitelerine k\u0131yasla daha fazla risk alt\u0131ndad\u0131r. Ayr\u0131ca\u00a0<strong>lisanss\u0131z panel\u00a0<\/strong>kullan\u0131m\u0131 hukuki sonu\u00e7lar do\u011furur. Verilerinizi g\u00fcvenle korumak i\u00e7in\u00a0<strong>orijinal lisansl\u0131 yaz\u0131l\u0131m<\/strong>\u00a0kullan\u0131n ve hizmet ald\u0131\u011f\u0131n\u0131z firmadan orijinal lisans kulland\u0131klar\u0131na dair mutlaka kan\u0131tlar isteyin. Detayl\u0131 bilgi i\u00e7in\u00a0<a href=\"https:\/\/www.natro.com\/lisansli-urun-politikamiz?utm_source=hosting-blog&utm_medium=text-link&utm_campaign=lisans-politikasi\"><strong>buraya t\u0131klay\u0131n<\/strong><\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-nasil-kurulur\"><span id=\"docker-nasil-kurulur\">Docker Nas\u0131l Kurulur?<\/span><\/h2>\n\n\n\n<p>Buraya kadar Docker ile ilgili olarak genel bir bilgiye sahip oldunuz. S\u0131k kullan\u0131lan komutlar ve ne i\u015fe yarad\u0131klar\u0131n\u0131 g\u00f6rd\u00fcn\u00fcz. Docker\u2019\u0131n sa\u011flad\u0131\u011f\u0131 avantajlar\u0131 da g\u00f6rd\u00fckten sonra art\u0131k s\u0131ra Docker\u2019 \u0131 uygulamalar\u0131n\u0131z i\u00e7in kullanmaya geldi.\u00a0<\/p>\n\n\n\n<p>Docker belli sunucular \u00fczerine kurulabilir. Bunlar, CentosOS 6 , CentosOS 7 ve Ubuntu sunucular\u0131d\u0131r. \u00d6ncelikle kurulum i\u00e7in sunucunuzda SSH kullanmal\u0131s\u0131n\u0131z ve \u201d log in \u201d olmal\u0131s\u0131n\u0131z. Ayr\u0131ca sistemi \u201cRoot\u201d kullan\u0131c\u0131 olarak g\u00fcncellemelisiniz.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-1024x683.jpg\" alt=\"\" class=\"wp-image-34595\" srcset=\"https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-1024x683.jpg 1024w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-300x200.jpg 300w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-768x512.jpg 768w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-1536x1024.jpg 1536w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-2048x1365.jpg 2048w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-380x253.jpg 380w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-800x533.jpg 800w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-1160x773.jpg 1160w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-3072x2048.jpg 3072w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-760x507.jpg 760w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-1600x1067.jpg 1600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-2320x1547.jpg 2320w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-600x400.jpg 600w, https:\/\/www.natro.com\/blog\/wp-content\/uploads\/2023\/04\/dom-javascript-scaled.jpg 2560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Her sunucu i\u00e7in farkl\u0131 komutlar vard\u0131r. E\u011fer komutlar\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde incelemek isterseniz Natro firmas\u0131n\u0131n blo\u011funda yer alan\u00a0<a href=\"https:\/\/www.natro.com\/blog\/docker-nedir-nasil-kurulur-avantajlari-nelerdir\/\">Docker nedir, nas\u0131l kurulur, avantajlar\u0131 neler<\/a><a href=\"https:\/\/www.natro.com\/blog\/docker-nedir-nasil-kurulur-avantajlari-nelerdir\/\">dir?<\/a>\u00a0isimli yaz\u0131dan faydalanabilirsiniz.<\/p>\n\n\n\n<p>\u00d6zetleyecek olursak neden Docker kullanmal\u0131y\u0131z sorusuna cevap olarak:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li><strong>Kolay Kullan\u0131m\u0131 olmas\u0131:<\/strong> Docker pop\u00fcler bir teknoloji olmas\u0131nda kolay bir kullan\u0131ma sahip olmas\u0131n\u0131n pay\u0131 b\u00fcy\u00fckt\u00fcr.<\/li>\n\n\n\n<li><strong>Daha Verimli Yaz\u0131l\u0131m Da\u011f\u0131t\u0131m\u0131:<\/strong> Container\u2019lar ta\u015f\u0131nabilirdir. Ayr\u0131ca ba\u011f\u0131ms\u0131z birimlerdir. Container\u2019ler yaz\u0131l\u0131m da\u011f\u0131t\u0131m\u0131 a\u00e7\u0131s\u0131ndan da verimlidir.<\/li>\n\n\n\n<li><strong>Mikroservis Mimarisi: <\/strong>Mikro hizmet mimarisi son d\u00f6nemlerde olduk\u00e7a pop\u00fcler hale gelmi\u015ftir. Mikro hizmet mimarisinin yayg\u0131nl\u0131k kazanmas\u0131 da, Docker\u2019\u0131n pop\u00fclerle\u015fmesini ve yayg\u0131n kullan\u0131m\u0131n\u0131 sa\u011flam\u0131\u015ft\u0131r. Docker\u2019\u0131n bar\u0131nd\u0131rd\u0131\u011f\u0131 container\u2019lar mikro hizmet mimarisindeki k\u00fc\u00e7\u00fck b\u00f6l\u00fcmler i\u00e7in \u00e7ok verimlidir. Mikroservisler kendi i\u00e7inde ba\u011f\u0131ms\u0131z \u00e7al\u0131\u015fabilen ve k\u00fc\u00e7\u00fck uygulamalar olarak adland\u0131r\u0131lan k\u00fc\u00e7\u00fck par\u00e7alardan olu\u015fur. Her k\u00fc\u00e7\u00fck uygulama i\u00e7in ayr\u0131 sanal makine yerine container kullanmak \u00e7ok verimli ve etkin bir y\u00f6ntemdir.<\/li>\n\n\n\n<li>\u00a0<strong>Maliyet A\u00e7\u0131s\u0131ndan Daha Verimli Olmas\u0131:<\/strong> Her uygulama i\u00e7in farkl\u0131 i\u015fletim sistemi kullanmak yerine, tek bir i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fabilen binlerce container daha kullan\u0131\u015fl\u0131d\u0131r. Docker komutlar\u0131yla \u00e7ok kolay ve h\u0131zl\u0131 bir \u015fekilde container olu\u015fturulabilir. Container\u2019lar bir process\u2019tir . Docker ile az kaynak ile \u00e7ok i\u015f yap\u0131labildi\u011finden maliyet a\u00e7\u0131s\u0131ndan tasarruf sa\u011flar.<\/li>\n<\/ol>\n\n\n\n<p>E\u011fer uygulamalar\u0131n\u0131z\u0131n kolay ve h\u0131zl\u0131 bir \u015fekilde derlenmesini, test edilebilmesini ve da\u011f\u0131t\u0131m\u0131n\u0131 yapmak istiyorsan\u0131z Docker iyi bir se\u00e7im olacakt\u0131r. Docker ile yaz\u0131l\u0131m s\u00fcre\u00e7lerinde kar\u015f\u0131la\u015f\u0131lan pek \u00e7ok sorunla kar\u015f\u0131la\u015fmadan, sorunsuz bir \u015fekilde yaz\u0131l\u0131m s\u00fcre\u00e7lerini halledebilirsiniz. Tabii ki maliyet de \u00f6nemli bir fakt\u00f6r olarak kar\u015f\u0131n\u0131za \u00e7\u0131kacakt\u0131r. Docker ile az kaynak ile \u00e7ok i\u015f y\u00fck\u00fc \u00e7al\u0131\u015ft\u0131rabileceksiniz. Docker kullanarak, normal bir sunucuya g\u00f6re maliyet y\u00f6n\u00fcnden olduk\u00e7a avantajl\u0131 durumda olursunuz.<\/p>\n","protected":false},"excerpt":{"rendered":"Docker, pop\u00fcler ve b\u00fcy\u00fck \u015firketlerin de kullan\u0131m\u0131yla pop\u00fcler hale geldi. Daha sonra Docker kullan\u0131m\u0131 di\u011fer \u015firketler taraf\u0131ndan da&hellip;\n","protected":false},"author":7,"featured_media":34771,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"class_list":{"0":"post-34770","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-sunucu"},"_links":{"self":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/34770","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/comments?post=34770"}],"version-history":[{"count":2,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/34770\/revisions"}],"predecessor-version":[{"id":34806,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/posts\/34770\/revisions\/34806"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/media\/34771"}],"wp:attachment":[{"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/media?parent=34770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/categories?post=34770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.natro.com\/blog\/wp-json\/wp\/v2\/tags?post=34770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}