{"id":38279,"date":"2026-01-27T16:22:55","date_gmt":"2026-01-27T13:22:55","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/"},"modified":"2026-01-27T16:22:55","modified_gmt":"2026-01-27T13:22:55","slug":"giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/","title":{"rendered":"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?"},"content":{"rendered":"<p><span>Docker exec ile Konteynerlere Eri\u015fme ve Y\u00f6netme Rehberi<\/span><\/p>\n<p>Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, <code>docker exec<\/code> komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.<\/p>\n<h2>Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden <code>docker exec<\/code>?<\/h2>\n<p>Uygulamalar\u0131m\u0131z\u0131 Docker konteynerlerinde \u00e7al\u0131\u015ft\u0131rmak, bize say\u0131s\u0131z avantaj sunar: h\u0131zl\u0131 da\u011f\u0131t\u0131m, ortam tutarl\u0131l\u0131\u011f\u0131 ve kaynak izolasyonu bunlardan sadece birka\u00e7\u0131. Ancak bu avantajlar, beraberinde baz\u0131 operasyonel zorluklar\u0131 da getirebilir. Bir konteynerin i\u00e7inde ne olup bitti\u011fini anlamak, bir hata ay\u0131klama s\u00fcrecinde kritik \u00f6neme sahiptir. \u00d6rne\u011fin, bir web sunucusu konteynerinizin aniden 500 hatas\u0131 vermeye ba\u015flad\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu durumda, konteynerin i\u00e7indeki log dosyalar\u0131n\u0131 kontrol etmek, yap\u0131land\u0131rma ayarlar\u0131n\u0131 g\u00f6zden ge\u00e7irmek veya \u00e7al\u0131\u015fan bir servisi yeniden ba\u015flatmak isteyebilirsiniz. \u0130\u015fte tam da bu senaryolarda, <code>docker exec<\/code> komutu adeta bir can simidi g\u00f6revi g\u00f6r\u00fcr.<\/p>\n<p><code>docker exec<\/code>, \u00e7al\u0131\u015fan bir Docker konteyneri i\u00e7inde yeni bir komut \u00e7al\u0131\u015ft\u0131rman\u0131za olanak tan\u0131yan g\u00fc\u00e7l\u00fc ve esnek bir ara\u00e7t\u0131r. Bu komut sayesinde, konteyneri durdurup yeniden ba\u015flatmaya gerek kalmadan, do\u011frudan konteynerin i\u015fletim sistemi seviyesinde etkile\u015fim kurabilirsiniz. Bu yetenek, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131nda kar\u015f\u0131la\u015f\u0131lan bir\u00e7ok sorunu h\u0131zl\u0131ca te\u015fhis etme ve \u00e7\u00f6zme kapasitesi sunar. Geleneksel sanal makinelerdeki SSH eri\u015fimine benzer bir deneyim sunsa da, konteynerlerin hafif yap\u0131s\u0131 sayesinde \u00e7ok daha h\u0131zl\u0131 ve verimlidir. Dolay\u0131s\u0131yla, bir geli\u015ftirici, sistem y\u00f6neticisi veya DevOps m\u00fchendisi olarak, <code>docker exec<\/code>&#8216;i etkili bir \u015fekilde kullanmak, Docker ekosistemindeki yetkinli\u011finizi \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r. Bu makalede, <code>docker exec<\/code>&#8216;in temel kullan\u0131mlar\u0131ndan ba\u015flayarak, ileri d\u00fczey ipu\u00e7lar\u0131na ve ger\u00e7ek d\u00fcnya senaryolar\u0131na kadar her y\u00f6n\u00fcn\u00fc detayl\u0131ca ele alaca\u011f\u0131z. Haz\u0131rsan\u0131z, konteynerlerinizin gizli d\u00fcnyas\u0131na bir yolculu\u011fa \u00e7\u0131kal\u0131m!<\/p>\n<h2>Temel Kavramlar: <code>docker exec<\/code> Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n<p>Docker konteynerleri, uygulamalar\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 izole edilmi\u015f, hafif ve ta\u015f\u0131nabilir birimler halinde paketlemek i\u00e7in kullan\u0131lan bir teknolojidir. Her konteyner, kendi dosya sistemi, a\u011f aray\u00fczleri ve s\u00fcre\u00e7 alan\u0131na sahip, ana makineden yal\u0131t\u0131lm\u0131\u015f bir ortamda \u00e7al\u0131\u015f\u0131r. Bu izolasyon, uygulamalar aras\u0131nda \u00e7ak\u0131\u015fmalar\u0131 \u00f6nler ve tutarl\u0131 bir \u00e7al\u0131\u015fma ortam\u0131 sa\u011flar. Ancak bu izolasyon, bazen konteynerin i\u00e7indeki durumu anlamay\u0131 veya anl\u0131k de\u011fi\u015fiklikler yapmay\u0131 zorla\u015ft\u0131rabilir. \u0130\u015fte <code>docker exec<\/code> komutu tam da bu noktada devreye girer.<\/p>\n<p><code>docker exec<\/code>, hali haz\u0131rda \u00e7al\u0131\u015fan bir konteyner i\u00e7inde yeni bir s\u00fcre\u00e7 (komut) ba\u015flatman\u0131z\u0131 sa\u011flayan bir Docker CLI komutudur. Temel fark\u0131, <code>docker run<\/code> komutunun yeni bir konteyner ba\u015flat\u0131p i\u00e7inde komut \u00e7al\u0131\u015ft\u0131rmas\u0131, <code>docker exec<\/code>&#8216;in ise *mevcut ve \u00e7al\u0131\u015fan* bir konteyner i\u00e7inde komut \u00e7al\u0131\u015ft\u0131rmas\u0131d\u0131r. Bu sayede, konteynerin ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc bozmadan, yani onu durdurup yeniden ba\u015flatmadan, i\u00e7indeki ortama eri\u015febilir ve etkile\u015fimde bulunabilirsiniz. \u00d6rne\u011fin, bir veritaban\u0131 konteynerinde \u00e7al\u0131\u015fan bir SQL sunucusunun durumunu kontrol edebilir, bir web sunucusu konteynerinde loglar\u0131 inceleyebilir veya hatta bir geli\u015ftirme konteynerinde yeni bir paket kurabilirsiniz.<\/p>\n<p><code>docker exec<\/code> komutunun temel s\u00f6zdizimi olduk\u00e7a basittir:<\/p>\n<pre><code>\ndocker exec [SE\u00c7ENEKLER] &lt;KONTEYNER_ADI_VEYA_ID&gt; &lt;KOMUT&gt; [ARG\u00dcMANLAR]\n<\/code><\/pre>\n<ul>\n<li><code>[SE\u00c7ENEKLER]<\/code>: Komutun davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftiren bayraklard\u0131r. En s\u0131k kullan\u0131lanlardan baz\u0131lar\u0131 \u015funlard\u0131r:\n<ul>\n<li><code>-i<\/code> veya <code>--interactive<\/code>: Standart girdiyi (stdin) a\u00e7\u0131k tutar. \u0130nteraktif bir kabuk oturumu a\u00e7arken kritik \u00f6neme sahiptir.<\/li>\n<li><code>-t<\/code> veya <code>--tty<\/code>: Bir sahte TTY (terminal) atar. Bu da interaktif bir kabuk oturumunu daha kullan\u0131c\u0131 dostu hale getirir, renkli \u00e7\u0131kt\u0131lar ve komut tamamlama gibi \u00f6zellikler sa\u011flar.<\/li>\n<li><code>-it<\/code>: Genellikle birlikte kullan\u0131l\u0131r ve interaktif bir terminal oturumu a\u00e7mak i\u00e7in idealdir.<\/li>\n<li><code>-d<\/code> veya <code>--detach<\/code>: Komutu arka planda \u00e7al\u0131\u015ft\u0131r\u0131r. E\u011fer konteyner i\u00e7inde uzun s\u00fcrecek bir i\u015flem ba\u015flat\u0131p terminali serbest b\u0131rakmak isterseniz kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><code>-u<\/code> veya <code>--user<\/code>: Komutu belirli bir kullan\u0131c\u0131 veya UID ile \u00e7al\u0131\u015ft\u0131rman\u0131z\u0131 sa\u011flar. G\u00fcvenlik ve izin y\u00f6netimi i\u00e7in \u00f6nemlidir.<\/li>\n<li><code>-w<\/code> veya <code>--workdir<\/code>: Komutun \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131 \u00e7al\u0131\u015fma dizinini belirtir.<\/li>\n<\/ul>\n<\/li>\n<li><code>&lt;KONTEYNER_ADI_VEYA_ID&gt;<\/code>: Komutu \u00e7al\u0131\u015ft\u0131rmak istedi\u011finiz konteynerin ad\u0131 (\u00f6rne\u011fin, <code>my-web-app<\/code>) veya k\u0131sa ID&#8217;si (\u00f6rne\u011fin, <code>a1b2c3d4e5f6<\/code>).<\/li>\n<li><code>&lt;KOMUT&gt;<\/code>: Konteyner i\u00e7inde \u00e7al\u0131\u015ft\u0131r\u0131lacak olan komut (\u00f6rne\u011fin, <code>ls<\/code>, <code>bash<\/code>, <code>nginx -s reload<\/code>).<\/li>\n<li><code>[ARG\u00dcMANLAR]<\/code>: \u00c7al\u0131\u015ft\u0131r\u0131lacak komutun arg\u00fcmanlar\u0131 (\u00f6rne\u011fin, <code>-l \/app<\/code>).<\/li>\n<\/ul>\n<p>Bu temel yap\u0131 ve se\u00e7enekleri anlamak, <code>docker exec<\/code>&#8216;i verimli bir \u015fekilde kullanman\u0131n ilk ad\u0131m\u0131d\u0131r. \u015eimdi gelin, bu komutu ger\u00e7ek \u00f6rneklerle nas\u0131l hayata ge\u00e7irebilece\u011fimize bakal\u0131m.<\/p>\n<h2>Ad\u0131m Ad\u0131m Uygulama: Konteyner \u0130\u00e7inde Komut \u00c7al\u0131\u015ft\u0131rmak<\/h2>\n<p><code>docker exec<\/code> komutunun temel s\u00f6zdizimini \u00f6\u011frendikten sonra, s\u0131ra geldi bunu pratikte uygulamaya. A\u015fa\u011f\u0131daki ad\u0131m ad\u0131m \u00f6rnekler, farkl\u0131 senaryolarda <code>docker exec<\/code>&#8216;i nas\u0131l kullanabilece\u011finizi g\u00f6sterecektir. Her bir \u00f6rne\u011fi kendi terminalinizde deneyerek konuyu peki\u015ftirebilirsiniz.<\/p>\n<h3>\u00d6rnek 1: Basit Bir Komut \u00c7al\u0131\u015ft\u0131rma (Konteyner \u0130\u00e7indeki Dosyalar\u0131 Listeleme)<\/h3>\n<p>Diyelim ki bir Nginx web sunucusu konteyneriniz \u00e7al\u0131\u015f\u0131yor ve i\u00e7inde hangi dosyalar\u0131n bulundu\u011funu g\u00f6rmek istiyorsunuz. \u00d6ncelikle, \u00e7al\u0131\u015fan konteynerlerinizin listesini almak i\u00e7in <code>docker ps<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code>\ndocker ps\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da Nginx konteynerinizin ad\u0131n\u0131 (\u00f6rne\u011fin, <code>my-nginx-server<\/code>) veya ID&#8217;sini g\u00f6receksiniz. \u015eimdi, bu konteyner i\u00e7inde <code>ls -l \/etc\/nginx<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak Nginx yap\u0131land\u0131rma dosyalar\u0131n\u0131 listeleyelim:<\/p>\n<pre><code>\ndocker exec my-nginx-server ls -l \/etc\/nginx\n<\/code><\/pre>\n<p>Bu komut, konteyner i\u00e7inde <code>ls -l \/etc\/nginx<\/code> komutunu \u00e7al\u0131\u015ft\u0131racak ve \u00e7\u0131kt\u0131y\u0131 sizin ana terminalinize y\u00f6nlendirecektir. Bu sayede, konteynerin i\u00e7indeki dosya sistemine dokunmadan bilgi edinebilirsiniz.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: Konteyner ad\u0131 yerine ID&#8217;sinin ilk birka\u00e7 karakterini de kullanabilirsiniz. \u00d6rne\u011fin, <code>docker exec a1b2 ls -l<\/code>.\n<\/div>\n<h3>\u00d6rnek 2: \u0130nteraktif Bir Kabuk Oturumu A\u00e7ma (Konteynere Giri\u015f Yapma)<\/h3>\n<p>S\u0131k\u00e7a ihtiya\u00e7 duyulan senaryolardan biri, bir konteynerin i\u00e7ine &#8220;girmek&#8221; ve sanki do\u011frudan o makinedeymi\u015f gibi komutlar \u00e7al\u0131\u015ft\u0131rmakt\u0131r. Bu, genellikle hata ay\u0131klama veya anl\u0131k de\u011fi\u015fiklikler yapma durumlar\u0131nda kullan\u0131l\u0131r. Bunun i\u00e7in <code>-it<\/code> se\u00e7eneklerini kullanarak interaktif bir kabuk oturumu a\u00e7mal\u0131y\u0131z:<\/p>\n<pre><code>\ndocker exec -it my-nginx-server bash\n<\/code><\/pre>\n<p>E\u011fer konteyner i\u00e7inde <code>bash<\/code> y\u00fckl\u00fc de\u011filse, genellikle <code>sh<\/code> (shell) kullan\u0131labilir:<\/p>\n<pre><code>\ndocker exec -it my-nginx-server sh\n<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, terminaliniz konteynerin kabu\u011funa ba\u011flanacak ve komut istemi de\u011fi\u015fecektir (\u00f6rne\u011fin, <code>root@a1b2c3d4:\/#<\/code> gibi). Art\u0131k konteynerin i\u00e7inde serbest\u00e7e dola\u015fabilir, dosyalar\u0131 d\u00fczenleyebilir, paketleri kurabilir (e\u011fer izinler ve yetenekler varsa) veya \u00e7al\u0131\u015fan s\u00fcre\u00e7leri inceleyebilirsiniz. \u0130\u015finiz bitti\u011finde, <code>exit<\/code> yazarak veya <code>Ctrl+D<\/code> tu\u015f kombinasyonuyla kabuktan \u00e7\u0131kabilirsiniz.<\/p>\n<h3>\u00d6rnek 3: Bir Web Sunucusunun Loglar\u0131n\u0131 \u0130zleme<\/h3>\n<p>Bir web uygulamas\u0131nda sorun gidermenin en yayg\u0131n yollar\u0131ndan biri, sunucu loglar\u0131n\u0131 takip etmektir. Nginx konteynerinizin eri\u015fim veya hata loglar\u0131n\u0131 anl\u0131k olarak izlemek i\u00e7in <code>tail -f<\/code> komutunu kullanabiliriz:<\/p>\n<pre><code>\ndocker exec my-nginx-server tail -f \/var\/log\/nginx\/access.log\n<\/code><\/pre>\n<p>Bu komut, Nginx&#8217;in eri\u015fim log dosyas\u0131n\u0131 s\u00fcrekli olarak izleyecek ve yeni gelen sat\u0131rlar\u0131 terminalinize yazd\u0131racakt\u0131r. Bu sayede, uygulaman\u0131za yap\u0131lan istekleri veya olu\u015fan hatalar\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6rebilirsiniz. \u0130zlemeyi durdurmak i\u00e7in <code>Ctrl+C<\/code> tu\u015f kombinasyonunu kullanabilirsiniz.<\/p>\n<h3>\u00d6rnek 4: Konteyner \u0130\u00e7inde Ortam De\u011fi\u015fkenlerini Kontrol Etme<\/h3>\n<p>Konteynerlerin \u00e7o\u011fu, yap\u0131land\u0131rma i\u00e7in ortam de\u011fi\u015fkenlerini kullan\u0131r. Bir konteynerin i\u00e7inde hangi ortam de\u011fi\u015fkenlerinin ayarl\u0131 oldu\u011funu g\u00f6rmek i\u00e7in <code>env<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code>\ndocker exec my-nginx-server env\n<\/code><\/pre>\n<p>Bu komut, konteynerin mevcut ortam de\u011fi\u015fkenlerinin bir listesini d\u00f6nd\u00fcrecektir. Bu, bir uygulaman\u0131n neden belirli bir \u015fekilde davrand\u0131\u011f\u0131n\u0131 anlamak i\u00e7in kritik bilgiler sa\u011flayabilir, \u00f6zellikle de yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir de\u011fi\u015fken \u015f\u00fcphesi varsa.<\/p>\n<p>Bu \u00f6rnekler, <code>docker exec<\/code>&#8216;in ne kadar \u00e7e\u015fitli g\u00f6revler i\u00e7in kullan\u0131labilece\u011fini g\u00f6stermektedir. Her bir komut, konteynerinizin i\u00e7 d\u00fcnyas\u0131na bir pencere a\u00e7arak, size tam kontrol ve g\u00f6r\u00fcn\u00fcrl\u00fck sa\u011flar. Bu yetenekler, sorun giderme ve y\u00f6netim s\u00fcre\u00e7lerinizi \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r ve basitle\u015ftirir.<\/p>\n<h2>Ger\u00e7ek D\u00fcnya Senaryolar\u0131: <code>docker exec<\/code> ile Sorun Giderme ve Y\u00f6netim<\/h2>\n<p><code>docker exec<\/code> komutu, sadece basit komutlar \u00e7al\u0131\u015ft\u0131rmak veya bir kabuk a\u00e7makla s\u0131n\u0131rl\u0131 de\u011fildir. As\u0131l g\u00fcc\u00fc, ger\u00e7ek d\u00fcnya senaryolar\u0131nda, \u00f6zellikle de sorun giderme, bak\u0131m ve anl\u0131k y\u00f6netim ihtiya\u00e7lar\u0131nda ortaya \u00e7\u0131kar. \u0130\u015fte <code>docker exec<\/code>&#8216;i kullanarak kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 pratik durumlar ve \u00e7\u00f6z\u00fcm yollar\u0131:<\/p>\n<h3>Vaka Analizi 1: Veritaban\u0131 Konteynerinde Performans Sorunu Giderme<\/h3>\n<p>Bir uygulaman\u0131z\u0131n yava\u015f \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 fark ettiniz ve \u015f\u00fcpheleriniz veritaban\u0131 konteyneri \u00fczerinde yo\u011funla\u015f\u0131yor. Veritaban\u0131 konteynerini durdurup yeniden ba\u015flatmak, uygulaman\u0131zda kesintiye neden olabilir. \u0130\u015fte <code>docker exec<\/code> ile bu sorunu nas\u0131l giderebilece\u011finize dair bir senaryo:<\/p>\n<ol>\n<li><strong>Veritaban\u0131 Loglar\u0131n\u0131 \u0130nceleme:<\/strong> MySQL veya PostgreSQL gibi veritabanlar\u0131 genellikle performans sorunlar\u0131n\u0131 log dosyalar\u0131na yazar. Konteynerinize ba\u011flanarak loglar\u0131 kontrol edebilirsiniz:\n<pre><code>\ndocker exec -it my-mysql-db tail -f \/var\/log\/mysql\/error.log\n        <\/code><\/pre>\n<p>Bu komutla, yava\u015f sorgular\u0131, ba\u011flant\u0131 hatalar\u0131n\u0131 veya di\u011fer kritik uyar\u0131lar\u0131 ger\u00e7ek zamanl\u0131 olarak takip edebilirsiniz.<\/p>\n<\/li>\n<li><strong>Veritaban\u0131 \u0130stemcisi ile Ba\u011flanma:<\/strong> Loglarda bir sorun g\u00f6remediniz, ancak yine de veritaban\u0131n\u0131n durumunu do\u011frudan kontrol etmek istiyorsunuz. Konteyner i\u00e7inde veritaban\u0131 istemcisini \u00e7al\u0131\u015ft\u0131rarak sorgular yapabilirsiniz:\n<pre><code>\ndocker exec -it my-mysql-db mysql -u root -p\n        <\/code><\/pre>\n<p>Bu komut sizi MySQL istemcisine ba\u011flayacak. Ard\u0131ndan, <code>SHOW PROCESSLIST;<\/code> gibi komutlarla uzun s\u00fcren sorgular\u0131 veya kilitlenmeleri tespit edebilirsiniz. Ya da <code>EXPLAIN SELECT * FROM my_table WHERE ...;<\/code> gibi komutlarla belirli bir sorgunun performans\u0131n\u0131 analiz edebilirsiniz. Bu sayede, uygulaman\u0131z\u0131n veritaban\u0131 ile nas\u0131l etkile\u015fim kurdu\u011funu ve potansiyel darbo\u011fazlar\u0131 h\u0131zl\u0131ca belirleyebilirsiniz.<\/p>\n<\/li>\n<\/ol>\n<h3>Vaka Analizi 2: Web Uygulamas\u0131 Ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 G\u00fcncelleme veya Dosya \u0130zinlerini D\u00fczeltme<\/h3>\n<p>Bir Node.js veya Python uygulamas\u0131nda yeni bir ba\u011f\u0131ml\u0131l\u0131k eklemeniz gerekti veya bir dosyan\u0131n izinleri yanl\u0131\u015f ayarland\u0131\u011f\u0131 i\u00e7in uygulama hata veriyor. Konteyneri yeniden olu\u015fturmak yerine, <code>docker exec<\/code> ile anl\u0131k m\u00fcdahale edebilirsiniz:<\/p>\n<ol>\n<li><strong>Yeni Ba\u011f\u0131ml\u0131l\u0131k Y\u00fckleme:<\/strong> Uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 konteynerin i\u00e7ine girerek, gerekli ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 kurabilirsiniz:\n<pre><code>\ndocker exec -it my-node-app bash\n# Konteyner i\u00e7inde:\nnpm install new-package\n        <\/code><\/pre>\n<p>Bu ge\u00e7ici bir \u00e7\u00f6z\u00fcm olabilir, ancak h\u0131zl\u0131 bir test veya acil bir d\u00fczeltme i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r. Kal\u0131c\u0131 bir \u00e7\u00f6z\u00fcm i\u00e7in <code>Dockerfile<\/code>&#8216;\u0131 g\u00fcncellemeniz ve konteyneri yeniden olu\u015fturman\u0131z \u00f6nerilir.<\/p>\n<\/li>\n<li><strong>Dosya \u0130zinlerini D\u00fczeltme:<\/strong> Uygulaman\u0131z bir dosyaya yazma izni olmad\u0131\u011f\u0131 i\u00e7in hata veriyorsa, konteyner i\u00e7inde <code>chmod<\/code> komutunu kullanabilirsiniz:\n<pre><code>\ndocker exec -it my-web-app sh\n# Konteyner i\u00e7inde:\nchmod 777 \/app\/data\/uploads\n        <\/code><\/pre>\n<p>Yine, bu bir acil durum \u00e7\u00f6z\u00fcm\u00fc olup, izinlerin <code>Dockerfile<\/code> i\u00e7inde do\u011fru \u015fekilde ayarlanmas\u0131 en iyi yakla\u015f\u0131md\u0131r. Ancak h\u0131zl\u0131 bir hata ay\u0131klama i\u00e7in hayat kurtar\u0131c\u0131 olabilir.<\/p>\n<\/li>\n<\/ol>\n<h3>Vaka Analizi 3: Konteyner \u0130\u00e7inde Ge\u00e7ici Bir Yaz\u0131l\u0131m Paketi Kurma<\/h3>\n<p>Bazen bir konteynerin i\u00e7inde, ana uygulaman\u0131z\u0131n ihtiyac\u0131 olmayan ancak hata ay\u0131klama veya analiz i\u00e7in gerekli olan bir araca ihtiyac\u0131n\u0131z olabilir. \u00d6rne\u011fin, bir a\u011f sorununu te\u015fhis etmek i\u00e7in <code>ping<\/code> veya <code>traceroute<\/code> gibi komutlara ihtiyac\u0131n\u0131z var, ancak bunlar temel imajda y\u00fckl\u00fc de\u011fil:<\/p>\n<pre><code>\ndocker exec -it my-app-container bash\n# Konteyner i\u00e7inde (Debian\/Ubuntu tabanl\u0131 ise):\napt update && apt install -y iputils-ping traceroute\n# Sonra ping veya traceroute komutlar\u0131n\u0131 kullanabilirsiniz\nping google.com\n<\/code><\/pre>\n<p>Bu, konteynerinize ge\u00e7ici olarak ara\u00e7lar eklemenizi sa\u011flar. Konteyner yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda bu de\u011fi\u015fiklikler kaybolacakt\u0131r, bu da temiz bir ortam s\u00fcrd\u00fcrme avantaj\u0131 sunar. Bu t\u00fcr ge\u00e7ici kurulumlar, \u00f6zellikle \u00fcretim ortamlar\u0131nda, konteynerin temel i\u015flevselli\u011fini de\u011fi\u015ftirmeden anl\u0131k sorun giderme i\u00e7in \u00e7ok de\u011ferlidir.<\/p>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: \u00dcretim ortamlar\u0131nda <code>docker exec<\/code> ile yap\u0131lan kal\u0131c\u0131 de\u011fi\u015fikliklerden ka\u00e7\u0131nmak \u00f6nemlidir. De\u011fi\u015fiklikler <code>Dockerfile<\/code>&#8216;a yans\u0131t\u0131lmal\u0131 ve imaj yeniden olu\u015fturulmal\u0131d\u0131r. <code>docker exec<\/code> daha \u00e7ok anl\u0131k g\u00f6zlem ve hata ay\u0131klama i\u00e7in kullan\u0131lmal\u0131d\u0131r.\n<\/div>\n<p>Bu vaka analizleri, <code>docker exec<\/code>&#8216;in sadece bir komut \u00e7al\u0131\u015ft\u0131rma arac\u0131 olman\u0131n \u00f6tesinde, kompleks sistemlerde derinlemesine sorun giderme ve y\u00f6netim i\u00e7in ne kadar kritik bir rol oynayabilece\u011fini g\u00f6stermektedir. Konteynerlerinizin i\u00e7 i\u015fleyi\u015fine hakim olman\u0131z\u0131 sa\u011flayarak, daha sa\u011flam ve g\u00fcvenilir uygulamalar geli\u015ftirmenize yard\u0131mc\u0131 olur.<\/p>\n<h2>\u0130leri D\u00fczey Kullan\u0131m: <code>docker exec<\/code>&#8216;i Daha Etkili Kullanma \u0130pu\u00e7lar\u0131<\/h2>\n<p><code>docker exec<\/code> komutunun temel ve pratik kullan\u0131mlar\u0131n\u0131 \u00f6\u011frendik. \u015eimdi, daha deneyimli kullan\u0131c\u0131lar i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve p\u00fcf noktalar\u0131na g\u00f6z atal\u0131m. Bu teknikler, <code>docker exec<\/code>&#8216;i daha verimli ve g\u00fcvenli bir \u015fekilde kullanman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Arka Planda Komut \u00c7al\u0131\u015ft\u0131rma (<code>-d<\/code> Se\u00e7ene\u011fi)<\/h3>\n<p>Bazen bir konteyner i\u00e7inde uzun s\u00fcrecek bir i\u015flem ba\u015flatman\u0131z ve terminalinizin bu i\u015flem taraf\u0131ndan me\u015fgul edilmesini istememeniz gerekebilir. Bu durumda <code>-d<\/code> (detach) se\u00e7ene\u011fini kullanabilirsiniz:<\/p>\n<pre><code>\ndocker exec -d my-app-container sh -c \"sleep 300 && echo '\u0130\u015flem tamamland\u0131' >> \/tmp\/log.txt\"\n<\/code><\/pre>\n<p>Bu komut, <code>my-app-container<\/code> i\u00e7inde 300 saniye bekleyecek ve ard\u0131ndan bir mesaj\u0131 bir dosyaya yazacak bir komutu arka planda \u00e7al\u0131\u015ft\u0131r\u0131r. Terminaliniz hemen serbest kal\u0131r ve ba\u015fka komutlar \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bu, \u00f6zellikle yedekleme i\u015flemleri, uzun s\u00fcreli veri i\u015fleme veya periyodik temizlik g\u00f6revleri gibi durumlarda kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h3>Birden Fazla Komutu Zincirleme<\/h3>\n<p>Konteyner i\u00e7inde birden fazla komutu ard\u0131\u015f\u0131k olarak \u00e7al\u0131\u015ft\u0131rmak istedi\u011finizde, bunlar\u0131 bir kabuk komutu i\u00e7inde zincirleyebilirsiniz. Bu genellikle <code>sh -c \"komut1 && komut2 || komut3\"<\/code> \u015feklinde yap\u0131l\u0131r:<\/p>\n<pre><code>\ndocker exec my-web-app sh -c \"cd \/app\/src && git pull && npm install && npm run build\"\n<\/code><\/pre>\n<p>Bu \u00f6rnekte, web uygulamas\u0131n\u0131n kaynak dizinine gidilir, git deposundan g\u00fcncellemeler \u00e7ekilir, ba\u011f\u0131ml\u0131l\u0131klar kurulur ve uygulama derlenir. T\u00fcm bu ad\u0131mlar tek bir <code>docker exec<\/code> komutu alt\u0131nda ger\u00e7ekle\u015ftirilir. Zincirleme, otomasyon senaryolar\u0131 i\u00e7in olduk\u00e7a g\u00fc\u00e7l\u00fcd\u00fcr.<\/p>\n<h3><code>docker exec<\/code> ile <code>docker-compose<\/code> Entegrasyonu<\/h3>\n<p>E\u011fer uygulaman\u0131z\u0131 <code>docker-compose<\/code> ile y\u00f6netiyorsan\u0131z, <code>docker-compose exec<\/code> komutu, <code>docker exec<\/code>&#8216;in t\u00fcm \u00f6zelliklerini <code>docker-compose<\/code> servisleri ba\u011flam\u0131nda kullanman\u0131z\u0131 sa\u011flar. Bu, servis adlar\u0131n\u0131 do\u011frudan kullanman\u0131za olanak tan\u0131r:<\/p>\n<pre><code>\ndocker-compose exec web bash\n<\/code><\/pre>\n<p>Bu komut, <code>docker-compose.yml<\/code> dosyan\u0131zda tan\u0131ml\u0131 olan <code>web<\/code> servisi konteynerinin i\u00e7ine interaktif bir <code>bash<\/code> oturumu a\u00e7ar. Bu, \u00e7ok servisli uygulamalar\u0131n y\u00f6netimini ve sorun gidermesini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir.<\/p>\n<h3>Konteynerin Mevcut Ortam De\u011fi\u015fkenlerini Kullanma<\/h3>\n<p><code>docker exec<\/code> ile \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z komutlar, \u00e7al\u0131\u015ft\u0131klar\u0131 konteynerin mevcut ortam de\u011fi\u015fkenlerine eri\u015febilir. Bu, konteynerin yap\u0131land\u0131rmas\u0131na g\u00f6re dinamik komutlar olu\u015fturman\u0131z\u0131 sa\u011flar. \u00d6rne\u011fin, bir veritaban\u0131 ba\u011flant\u0131 dizesini ortam de\u011fi\u015fkenlerinden okuyan bir beti\u011fi \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code>\ndocker exec my-db-app sh -c 'echo \"Veritaban\u0131 URL: $DATABASE_URL\"'\n<\/code><\/pre>\n<p>Burada <code>$DATABASE_URL<\/code>, konteynerin ortam\u0131nda tan\u0131ml\u0131 olan bir de\u011fi\u015fkendir ve <code>docker exec<\/code> ile \u00e7al\u0131\u015ft\u0131r\u0131lan komut taraf\u0131ndan okunur.<\/p>\n<h3><code>docker exec<\/code> ve G\u00fcvenlik Pratikleri<\/h3>\n<p><code>docker exec<\/code> g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, g\u00fcvenlik a\u00e7\u0131s\u0131ndan dikkatli kullan\u0131lmas\u0131 gerekir:<\/p>\n<ul>\n<li><strong>Minimum Yetki Prensibi:<\/strong> M\u00fcmk\u00fcnse, komutlar\u0131 <code>-u<\/code> se\u00e7ene\u011fi ile daha az yetkili bir kullan\u0131c\u0131 olarak \u00e7al\u0131\u015ft\u0131r\u0131n. \u00d6rne\u011fin, <code>docker exec -u www-data my-web-app ls \/app<\/code>.<\/li>\n<li><strong>Kal\u0131c\u0131 De\u011fi\u015fikliklerden Ka\u00e7\u0131n\u0131n:<\/strong> \u00dcretim ortamlar\u0131nda <code>docker exec<\/code> ile yap\u0131lan de\u011fi\u015fiklikler kal\u0131c\u0131 olmamal\u0131d\u0131r. Bir konteyner yeniden olu\u015fturuldu\u011funda bu de\u011fi\u015fiklikler kaybolur. Kal\u0131c\u0131 de\u011fi\u015fiklikler i\u00e7in <code>Dockerfile<\/code> g\u00fcncellenmeli ve yeni bir imaj olu\u015fturulmal\u0131d\u0131r.<\/li>\n<li><strong>Hassas Bilgileri A\u00e7\u0131\u011fa \u00c7\u0131karmay\u0131n:<\/strong> Loglarda veya komut \u00e7\u0131kt\u0131lar\u0131nda hassas bilgilerin (API anahtarlar\u0131, parolalar) g\u00f6r\u00fcnmemesine dikkat edin.<\/li>\n<\/ul>\n<div class=\"expert-tip\">\n  Uzman \u0130pucu: <code>docker exec<\/code>&#8216;i bir t\u00fcr &#8220;acil durum kap\u0131s\u0131&#8221; olarak d\u00fc\u015f\u00fcn\u00fcn. Rutin i\u015flemler i\u00e7in Docker API&#8217;sini veya otomasyon ara\u00e7lar\u0131n\u0131 kullanmak daha g\u00fcvenli ve \u00f6l\u00e7eklenebilir bir yakla\u015f\u0131md\u0131r.\n<\/div>\n<p>Bu ileri d\u00fczey teknikler ve g\u00fcvenlik ipu\u00e7lar\u0131, <code>docker exec<\/code>&#8216;i sadece bir sorun giderme arac\u0131 olmaktan \u00e7\u0131kar\u0131p, Docker ekosisteminizde daha stratejik ve kontroll\u00fc bir y\u00f6netim arac\u0131 haline getirmenizi sa\u011flayacakt\u0131r. Unutmay\u0131n, g\u00fcc\u00fcyle birlikte b\u00fcy\u00fck sorumluluk da gelir.<\/p>\n<h2>Mobil Uyumluluk ve Performans \u0130pu\u00e7lar\u0131<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz web d\u00fcnyas\u0131nda, kullan\u0131c\u0131lar\u0131n b\u00fcy\u00fck bir \u00e7o\u011funlu\u011fu internete mobil cihazlar \u00fczerinden eri\u015fiyor. Bu nedenle, teknik makaleler veya herhangi bir web i\u00e7eri\u011fi sunarken mobil uyumlulu\u011fu g\u00f6z ard\u0131 etmek, okuyucu deneyimini olumsuz etkileyebilir. Makalemizin i\u00e7eri\u011fi do\u011frudan <code>docker exec<\/code> komutlar\u0131na odaklanm\u0131\u015f olsa da, sunuldu\u011fu HTML yap\u0131s\u0131n\u0131n mobil cihazlarda da sorunsuz g\u00f6r\u00fcnt\u00fclenmesi kritik \u00f6neme sahiptir. Ayr\u0131ca, <code>docker exec<\/code> kullan\u0131rken performans\u0131 art\u0131racak baz\u0131 pratik ipu\u00e7lar\u0131 da mevcuttur.<\/p>\n<h3>HTML Yap\u0131s\u0131n\u0131n Mobil Uyumlulu\u011fu<\/h3>\n<p>Mobil uyumlu bir HTML yap\u0131s\u0131 olu\u015fturmak, farkl\u0131 ekran boyutlar\u0131na ve \u00e7\u00f6z\u00fcn\u00fcrl\u00fcklere adapte olabilen duyarl\u0131 tasar\u0131mlar gerektirir. Bu genellikle CSS medya sorgular\u0131 (media queries) ile ba\u015far\u0131l\u0131r. Sadece <code><body><\/code> i\u00e7eri\u011fi sa\u011flad\u0131\u011f\u0131m\u0131z i\u00e7in do\u011frudan CSS kodlar\u0131 ekleyemesek de, genel prensipleri ve nas\u0131l \u00e7al\u0131\u015ft\u0131klar\u0131n\u0131 a\u00e7\u0131klayabiliriz:<\/p>\n<ul>\n<li><strong>Duyarl\u0131 G\u00f6r\u00fcnt\u00fcler:<\/strong> G\u00f6rsel betimlemeler veya ekran g\u00f6r\u00fcnt\u00fcleri kullan\u0131ld\u0131\u011f\u0131nda, bunlar\u0131n mobil cihazlarda ekran\u0131 ta\u015fmamas\u0131n\u0131 sa\u011flamak \u00f6nemlidir. CSS&#8217;te <code>max-width: 100%; height: auto;<\/code> gibi kurallar genellikle bu sorunu \u00e7\u00f6zer.<\/li>\n<li><strong>Duyarl\u0131 Tablolar ve Listeler:<\/strong> Teknik makalelerde tablolar ve listeler s\u0131k\u00e7a kullan\u0131l\u0131r. B\u00fcy\u00fck tablolar mobil ekranlarda sorun yaratabilir. Bu durumda, tablolar\u0131n yatay olarak kayd\u0131r\u0131labilir olmas\u0131n\u0131 sa\u011flamak (<code>overflow-x: auto;<\/code>) veya belirli s\u00fctunlar\u0131 mobil g\u00f6r\u00fcn\u00fcmde gizlemek (<code>display: none;<\/code> ile medya sorgular\u0131 kullanarak) gibi teknikler uygulanabilir. Maddeleme (<code>\n<ul><\/code>) ve numaral\u0131 listeler (<code><\/p>\n<ol><\/code>) genellikle varsay\u0131lan olarak mobil uyumludur, ancak \u00e7ok uzun maddeler i\u00e7in sat\u0131r sonlar\u0131 ve bo\u015fluklar dikkatlice ayarlanmal\u0131d\u0131r.<\/li>\n<li><strong>Font Boyutlar\u0131 ve Sat\u0131r Y\u00fckseklikleri:<\/strong> Mobil cihazlarda okunabilirli\u011fi art\u0131rmak i\u00e7in font boyutlar\u0131 ve sat\u0131r y\u00fckseklikleri daha b\u00fcy\u00fck tutulabilir.<\/li>\n<\/ul>\n<p>\u00d6rne\u011fin, bir CSS dosyas\u0131nda medya sorgular\u0131 \u015fu \u015fekilde kullan\u0131labilir:<\/p>\n<pre><code>\n\/* Mobil cihazlar i\u00e7in stil tan\u0131mlar\u0131 *\/\n@media screen and (max-width: 768px) {\n  body {\n    font-size: 16px;\n    line-height: 1.6;\n  }\n  table {\n    display: block;\n    overflow-x: auto;\n    white-space: nowrap; \/* Sat\u0131rlar\u0131n kaymas\u0131n\u0131 engeller *\/\n  }\n  \/* Uzman ipucu kutusu i\u00e7in mobil stil *\/\n  .expert-tip {\n    padding: 10px;\n    font-size: 0.9em;\n  }\n}\n<\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnek, makalenin HTML yap\u0131s\u0131n\u0131n nas\u0131l duyarl\u0131 hale getirilebilece\u011fine dair kavramsal bir CSS snippet&#8217;idir. Bu t\u00fcr kurallar, i\u00e7eri\u011fin her cihazda okunabilir ve eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3><code>docker exec<\/code> Kullan\u0131rken Performans \u0130pu\u00e7lar\u0131<\/h3>\n<p><code>docker exec<\/code>&#8216;in kendisi olduk\u00e7a hafif bir komuttur, ancak yanl\u0131\u015f kullan\u0131m\u0131 performans sorunlar\u0131na yol a\u00e7abilir:<\/p>\n<ul>\n<li><strong>Gereksiz Kabuk A\u00e7maktan Ka\u00e7\u0131n\u0131n:<\/strong> Her <code>docker exec -it bash<\/code> komutu yeni bir kabuk s\u00fcreci ba\u015flat\u0131r. E\u011fer sadece tek bir komut \u00e7al\u0131\u015ft\u0131rman\u0131z gerekiyorsa (\u00f6rne\u011fin, <code>ls<\/code> veya <code>cat<\/code>), do\u011frudan komutu \u00e7al\u0131\u015ft\u0131r\u0131n, interaktif bir kabuk a\u00e7may\u0131n. Bu, kaynak kullan\u0131m\u0131n\u0131 azalt\u0131r ve daha h\u0131zl\u0131d\u0131r.\n<pre><code>\n# K\u00f6t\u00fc: Sadece bir dosya okumak i\u00e7in kabuk a\u00e7mak\ndocker exec -it my-container bash -c \"cat \/path\/to\/file.txt\"\n# \u0130yi: Do\u011frudan komutu \u00e7al\u0131\u015ft\u0131rmak\ndocker exec my-container cat \/path\/to\/file.txt\n        <\/code><\/pre>\n<\/li>\n<li><strong>Arka Planda \u00c7al\u0131\u015fan Komutlar\u0131 Y\u00f6netin:<\/strong> <code>-d<\/code> se\u00e7ene\u011fi ile arka planda \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131z komutlar\u0131n gereksiz yere uzun s\u00fcre \u00e7al\u0131\u015fmad\u0131\u011f\u0131ndan emin olun. Bu t\u00fcr i\u015flemler, konteyner kaynaklar\u0131n\u0131 (CPU, bellek) t\u00fcketebilir.<\/li>\n<li><strong>B\u00fcy\u00fck \u00c7\u0131kt\u0131lar\u0131 Y\u00f6nlendirin:<\/strong> E\u011fer <code>docker exec<\/code> ile \u00e7ok b\u00fcy\u00fck bir \u00e7\u0131kt\u0131 \u00fcreten bir komut \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z (\u00f6rne\u011fin, t\u00fcm dosya sistemini listeleme), \u00e7\u0131kt\u0131y\u0131 bir dosyaya y\u00f6nlendirmek veya <code>grep<\/code> gibi ara\u00e7larla filtrelemek, terminalinizin performans\u0131n\u0131 art\u0131rabilir ve a\u011f trafi\u011fini azaltabilir.\n<pre><code>\ndocker exec my-container find \/ -name \"*.log\" > container_logs.txt\n        <\/code><\/pre>\n<\/li>\n<li><strong>S\u0131k Kullan\u0131lan Komutlar\u0131 Betiklere Ta\u015f\u0131y\u0131n:<\/strong> E\u011fer belirli bir dizi komutu s\u0131k s\u0131k \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, bunlar\u0131 konteyner i\u00e7inde bir betik dosyas\u0131na (\u00f6rne\u011fin, <code>.sh<\/code>) d\u00f6n\u00fc\u015ft\u00fcr\u00fcp, ard\u0131ndan <code>docker exec my-container \/path\/to\/my_script.sh<\/code> \u015feklinde \u00e7al\u0131\u015ft\u0131rmak hem daha verimli hem de hata yapma olas\u0131l\u0131\u011f\u0131n\u0131 azalt\u0131r.<\/li>\n<\/ul>\n<p>Bu mobil uyumluluk ve performans ipu\u00e7lar\u0131, <code>docker exec<\/code> deneyiminizi hem kullan\u0131c\u0131lar hem de sisteminiz a\u00e7\u0131s\u0131ndan daha optimize hale getirmenize yard\u0131mc\u0131 olacakt\u0131r. Teknik i\u00e7eri\u011fin okunabilirli\u011fi ve eri\u015filebilirli\u011fi, aktar\u0131lan bilginin de\u011feri kadar \u00f6nemlidir.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h2>\n<p>Bu makale boyunca, <code>docker exec<\/code> komutunun ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve Docker konteynerlerinizi y\u00f6netmek i\u00e7in neden bu kadar \u00f6nemli bir ara\u00e7 oldu\u011funu detayl\u0131 bir \u015fekilde inceledik. Temel kullan\u0131mlar\u0131ndan ba\u015flayarak, interaktif kabuk oturumlar\u0131 a\u00e7maktan, veritaban\u0131 loglar\u0131n\u0131 incelemeye, hatta web uygulamas\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 g\u00fcncellemeye kadar pek \u00e7ok ger\u00e7ek d\u00fcnya senaryosunu ele ald\u0131k. Ayr\u0131ca, <code>-d<\/code> se\u00e7ene\u011fi ile arka planda komut \u00e7al\u0131\u015ft\u0131rma, komutlar\u0131 zincirleme ve <code>docker-compose<\/code> ile entegrasyon gibi ileri d\u00fczey teknikleri de \u00f6\u011frendik. Son olarak, mobil uyumluluk ve <code>docker exec<\/code> kullan\u0131rken performans\u0131 art\u0131racak ipu\u00e7lar\u0131na de\u011findik.<\/p>\n<p><code>docker exec<\/code>, Docker konteynerlerinin izole do\u011fas\u0131na ra\u011fmen, size bu izolasyonu a\u015fma ve konteynerin i\u00e7 i\u015fleyi\u015fine derinlemesine m\u00fcdahale etme yetene\u011fi sunar. Bu, hata ay\u0131klama, anl\u0131k sorun giderme, ge\u00e7ici bak\u0131m i\u015flemleri ve hatta geli\u015ftirme s\u00fcre\u00e7lerinde paha bi\u00e7ilmez bir ara\u00e7t\u0131r. Ancak, g\u00fcc\u00fcyle birlikte gelen sorumlulu\u011fun bilincinde olmak ve \u00f6zellikle \u00fcretim ortamlar\u0131nda dikkatli ve bilin\u00e7li bir \u015fekilde kullanmak \u00f6nemlidir. Kal\u0131c\u0131 de\u011fi\u015fiklikler i\u00e7in her zaman <code>Dockerfile<\/code>&#8216;\u0131 g\u00fcncellemek ve imajlar\u0131 yeniden olu\u015fturmak en iyi pratik olarak kabul edilmelidir. <code>docker exec<\/code>&#8216;i etkili bir \u015fekilde kullanarak, Docker tabanl\u0131 uygulamalar\u0131n\u0131z\u0131n kontrol\u00fcn\u00fc elinizde tutabilir ve operasyonel s\u00fcre\u00e7lerinizi daha verimli hale getirebilirsiniz.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<p>\u0130\u015fte <code>docker exec<\/code> hakk\u0131nda s\u0131k\u00e7a sorulan baz\u0131 sorular ve cevaplar\u0131:<\/p>\n<ol>\n<li>\n        <strong><code>docker exec<\/code> ile <code>docker run<\/code> aras\u0131ndaki temel fark nedir?<\/strong><\/p>\n<p><code>docker run<\/code> yeni bir konteyner olu\u015fturur ve i\u00e7inde bir komut \u00e7al\u0131\u015ft\u0131r\u0131r. <code>docker exec<\/code> ise zaten \u00e7al\u0131\u015fan mevcut bir konteyner i\u00e7inde yeni bir komut \u00e7al\u0131\u015ft\u0131r\u0131r. Yani, <code>docker run<\/code> yeni bir ya\u015fam d\u00f6ng\u00fcs\u00fc ba\u015flat\u0131rken, <code>docker exec<\/code> mevcut bir ya\u015fam d\u00f6ng\u00fcs\u00fcne m\u00fcdahale eder.<\/p>\n<\/li>\n<li>\n        <strong><code>docker exec -it my-container bash<\/code> komutu neden <code>-it<\/code> se\u00e7eneklerini kullan\u0131r?<\/strong><\/p>\n<p><code>-i<\/code> (<code>--interactive<\/code>) standart girdiyi (stdin) a\u00e7\u0131k tutar, bu da klavye giri\u015flerinizi konteynere iletmenizi sa\u011flar. <code>-t<\/code> (<code>--tty<\/code>) ise bir sahte TTY (terminal) atar, bu da terminal deneyiminizi daha zengin hale getirir (\u00f6rne\u011fin, renkli \u00e7\u0131kt\u0131, komut tamamlama). Bu iki se\u00e7enek bir araya geldi\u011finde, sanki do\u011frudan konteynerin i\u00e7indeymi\u015f gibi interaktif bir kabuk oturumu elde edersiniz.<\/p>\n<\/li>\n<li>\n        <strong><code>docker exec<\/code> ile yapt\u0131\u011f\u0131m de\u011fi\u015fiklikler konteyner yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda kaybolur mu?<\/strong><\/p>\n<p>Evet, genellikle kaybolur. Docker konteynerleri do\u011fas\u0131 gere\u011fi ge\u00e7icidir. E\u011fer <code>docker exec<\/code> ile konteynerin dosya sisteminde bir de\u011fi\u015fiklik yaparsan\u0131z (\u00f6rne\u011fin, bir dosya olu\u015fturmak veya bir paket kurmak), bu de\u011fi\u015fiklikler konteyner durdurulup yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda veya silinip yeniden olu\u015fturuldu\u011funda kaybolacakt\u0131r. Kal\u0131c\u0131 de\u011fi\u015fiklikler i\u00e7in Dockerfile&#8217;\u0131 g\u00fcncellemeniz ve yeni bir imaj olu\u015fturman\u0131z veya volume (birim) kullanarak verileri kal\u0131c\u0131 hale getirmeniz gerekir.<\/p>\n<\/li>\n<li>\n        <strong>Bir konteyner i\u00e7inde belirli bir kullan\u0131c\u0131 olarak komut \u00e7al\u0131\u015ft\u0131rabilir miyim?<\/strong><\/p>\n<p>Evet, <code>-u<\/code> veya <code>--user<\/code> se\u00e7ene\u011fini kullanarak komutu belirli bir kullan\u0131c\u0131 veya UID (kullan\u0131c\u0131 kimli\u011fi) ile \u00e7al\u0131\u015ft\u0131rabilirsiniz. \u00d6rne\u011fin: <code>docker exec -u www-data my-web-app ls \/var\/www\/html<\/code>.<\/p>\n<\/li>\n<li>\n        <strong><code>docker exec<\/code> komutu \u00e7al\u0131\u015fm\u0131yorsa ne yapmal\u0131y\u0131m?<\/strong><\/p>\n<p>\u0130lk olarak, konteynerin ger\u00e7ekten \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin: <code>docker ps<\/code>. E\u011fer konteyner \u00e7al\u0131\u015fm\u0131yorsa, <code>docker exec<\/code> komutu ba\u015far\u0131s\u0131z olacakt\u0131r. Konteyner ad\u0131 veya ID&#8217;sinin do\u011fru oldu\u011fundan emin olun. Ayr\u0131ca, konteyner i\u00e7inde \u00e7al\u0131\u015ft\u0131rmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131z komutun (\u00f6rne\u011fin, <code>bash<\/code> veya <code>sh<\/code>) y\u00fckl\u00fc olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. Baz\u0131 minimal imajlar temel kabuklar\u0131 i\u00e7ermeyebilir.<\/p>\n<\/li>\n<\/ol>\n<p><\/body><br \/>\n&#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"Docker exec ile Konteynerlere Eri\u015fme ve Y\u00f6netme Rehberi Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1407],"tags":[],"class_list":{"0":"post-38279","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-docker","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?<\/title>\n<meta name=\"description\" content=\"Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, docker exec komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?\" \/>\n<meta property=\"og:description\" content=\"Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, docker exec komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-27T13:22:55+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"21 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?\",\"datePublished\":\"2026-01-27T13:22:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\"},\"wordCount\":3757,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Docker\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\",\"name\":\"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-27T13:22:55+00:00\",\"description\":\"Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, docker exec komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?","description":"Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, docker exec komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/","og_locale":"tr_TR","og_type":"article","og_title":"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?","og_description":"Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, docker exec komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.","og_url":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-27T13:22:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?","datePublished":"2026-01-27T13:22:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/"},"wordCount":3757,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Docker"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/","url":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/","name":"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-27T13:22:55+00:00","description":"Docker, modern yaz\u0131l\u0131m geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7lerinin vazge\u00e7ilmez bir par\u00e7as\u0131 haline geldi. Konteynerler sayesinde uygulamalar\u0131m\u0131z\u0131 izole, ta\u015f\u0131nabilir ve tutarl\u0131 ortamlarda \u00e7al\u0131\u015ft\u0131rabiliyoruz. Ancak bu izolasyon, bazen konteynerlerin i\u00e7ine do\u011frudan eri\u015fim ihtiyac\u0131n\u0131 da beraberinde getirir. Peki, \u00e7al\u0131\u015fan bir konteynerin derinliklerine nas\u0131l inebilir, i\u00e7indeki dosyalara nas\u0131l bakabilir veya anl\u0131k sorunlar\u0131 nas\u0131l giderebiliriz? \u0130\u015fte tam bu noktada, docker exec komutu devreye giriyor ve konteynerlerinizin y\u00f6netimini parmaklar\u0131n\u0131z\u0131n ucuna getiriyor.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/giris-konteynerlerin-kalbine-yolculuk-neden-docker-exec\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Giri\u015f: Konteynerlerin Kalbine Yolculuk: Neden docker exec?"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=38279"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38279\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}