{"id":34185,"date":"2025-11-12T11:40:59","date_gmt":"2025-11-12T08:40:59","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=34185"},"modified":"2025-11-12T11:40:59","modified_gmt":"2025-11-12T08:40:59","slug":"gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/","title":{"rendered":"GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber<\/h2>\n<h2>Giri\u015f: GPU Droplet&#8217;ler, Konteynerizasyon ve Ortam Y\u00f6netimi<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde yapay zeka, makine \u00f6\u011frenimi ve derin \u00f6\u011frenme gibi alanlar h\u0131zla geli\u015fmekte ve bu geli\u015fim, y\u00fcksek performansl\u0131 bilgi i\u015flem kaynaklar\u0131na olan ihtiyac\u0131 art\u0131rmaktad\u0131r. \u00d6zellikle b\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde karma\u015f\u0131k modellerin e\u011fitilmesi, grafik i\u015flem birimlerinin (GPU&#8217;lar) sundu\u011fu paralel i\u015flem g\u00fcc\u00fcn\u00fc zorunlu k\u0131lmaktad\u0131r. Bulut sa\u011flay\u0131c\u0131lar\u0131, bu ihtiyac\u0131 kar\u015f\u0131lamak \u00fczere GPU droplet&#8217;ler veya GPU sanal makineleri gibi hizmetler sunarak geli\u015ftiricilerin ve ara\u015ft\u0131rmac\u0131lar\u0131n bu g\u00fc\u00e7l\u00fc donan\u0131mlara kolayca eri\u015fmesini sa\u011flamaktad\u0131r. Ancak bu g\u00fc\u00e7l\u00fc donan\u0131m\u0131 verimli, tekrar \u00fcretilebilir ve ta\u015f\u0131nabilir bir \u015fekilde kullanmak, do\u011fru yaz\u0131l\u0131m ara\u00e7lar\u0131n\u0131n ve yap\u0131land\u0131rmalar\u0131n bir araya getirilmesini gerektirir. Bu noktada Nvidia Container Toolkit ve Miniconda gibi ara\u00e7lar devreye girerek bu s\u00fcreci \u00f6nemli \u00f6l\u00e7\u00fcde kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3>GPU Droplet&#8217;lerin Y\u00fckseli\u015fi ve \u00d6nemi<\/h3>\n<p>GPU droplet&#8217;ler, genellikle NVIDIA GPU&#8217;lar\u0131 ile donat\u0131lm\u0131\u015f sanal \u00f6zel sunuculard\u0131r (VPS). Bu droplet&#8217;ler, geleneksel CPU tabanl\u0131 sunuculara k\u0131yasla on kat hatta y\u00fcz kat daha h\u0131zl\u0131 i\u015flem yapabilme kapasitesine sahiptir. Bu h\u0131z fark\u0131, \u00f6zellikle matris \u00e7arp\u0131m\u0131 gibi yo\u011fun matematiksel i\u015flemlerin temelini olu\u015fturan derin \u00f6\u011frenme algoritmalar\u0131 i\u00e7in kritik \u00f6neme sahiptir.<br \/>\nGPU droplet&#8217;ler, a\u015fa\u011f\u0131daki alanlarda yo\u011fun olarak kullan\u0131lmaktad\u0131r:<br \/>\n*   <strong>Derin \u00d6\u011frenme E\u011fitimi:<\/strong> TensorFlow, PyTorch gibi k\u00fct\u00fcphanelerle b\u00fcy\u00fck \u00f6l\u00e7ekli sinir a\u011flar\u0131n\u0131n e\u011fitilmesi.<br \/>\n*   <strong>Makine \u00d6\u011frenimi:<\/strong> Karma\u015f\u0131k modellerin h\u0131zland\u0131r\u0131lm\u0131\u015f e\u011fitimi ve \u00e7\u0131kar\u0131m\u0131 (inference).<br \/>\n*   <strong>Veri Bilimi:<\/strong> B\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde paralel veri i\u015fleme ve analiz.<br \/>\n*   <strong>Bilimsel Sim\u00fclasyonlar:<\/strong> Fizik, kimya, biyoloji gibi alanlarda yo\u011fun hesaplama gerektiren sim\u00fclasyonlar.<br \/>\n*   <strong>Video \u0130\u015fleme ve Renderlama:<\/strong> Y\u00fcksek \u00e7\u00f6z\u00fcn\u00fcrl\u00fckl\u00fc video i\u015fleme ve 3D renderlama.<\/p>\n<p>Bu droplet&#8217;ler, geli\u015ftiricilere esneklik, \u00f6l\u00e7eklenebilirlik ve maliyet etkinli\u011fi sunar. \u0130htiya\u00e7 duyuldu\u011funda h\u0131zl\u0131ca kurulabilir, kullan\u0131labilir ve i\u015f bitti\u011finde kapat\u0131larak maliyetten tasarruf edilebilir.<\/p>\n<h3>Nvidia Container Toolkit Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>Docker gibi konteyner teknolojileri, uygulamalar\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131yla birlikte izole edilmi\u015f, ta\u015f\u0131nabilir birimler halinde paketleyerek &#8220;bir kez in\u015fa et, her yerde \u00e7al\u0131\u015ft\u0131r&#8221; felsefesini benimser. Ancak standart Docker konteynerleri, ana makinedeki GPU&#8217;lara do\u011frudan eri\u015femez. \u0130\u015fte bu noktada Nvidia Container Toolkit (eski ad\u0131yla nvidia-docker) devreye girer.<br \/>\nNvidia Container Toolkit, Docker Engine&#8217;in, konteyner i\u00e7indeki uygulamalar\u0131n ana makinedeki NVIDIA GPU&#8217;lar\u0131na ve ilgili s\u00fcr\u00fcc\u00fclere eri\u015fmesini sa\u011flayan bir uzant\u0131s\u0131d\u0131r. Temel olarak, konteyner i\u00e7inden <code>nvidia-smi<\/code> gibi komutlar\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 ve CUDA tabanl\u0131 uygulamalar\u0131n GPU&#8217;yu kullanmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar.<br \/>\n\u00d6nemli faydalar\u0131 \u015funlard\u0131r:<br \/>\n*   <strong>GPU Eri\u015fimi:<\/strong> Konteyner i\u00e7indeki uygulamalar\u0131n GPU&#8217;yu kullanabilmesini sa\u011flar.<br \/>\n*   <strong>\u0130zolasyon:<\/strong> Farkl\u0131 projeler i\u00e7in farkl\u0131 CUDA s\u00fcr\u00fcmleri veya k\u00fct\u00fcphane ba\u011f\u0131ml\u0131l\u0131klar\u0131 gerektiren ortamlar\u0131 izole eder.<br \/>\n*   <strong>Tekrar \u00dcretilebilirlik:<\/strong> Bir projenin t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 (GPU s\u00fcr\u00fcc\u00fcleri hari\u00e7) konteyner i\u00e7inde paketlendi\u011fi i\u00e7in, ayn\u0131 ortam\u0131n farkl\u0131 makinelerde kolayca tekrar \u00fcretilmesini sa\u011flar.<br \/>\n*   <strong>Ta\u015f\u0131nabilirlik:<\/strong> Konteyner g\u00f6r\u00fcnt\u00fcs\u00fc, ayn\u0131 GPU mimarisine sahip herhangi bir sunucuda \u00e7al\u0131\u015ft\u0131r\u0131labilir.<br \/>\n*   <strong>Performans:<\/strong> Konteynerler, sanal makinelere k\u0131yasla daha az overhead ile neredeyse ana makine performans\u0131nda \u00e7al\u0131\u015f\u0131r.<\/p>\n<h3>Miniconda Nedir ve Neden Tercih Edilmelidir?<\/h3>\n<p>Python tabanl\u0131 geli\u015ftirme yaparken, farkl\u0131 projelerin farkl\u0131 Python versiyonlar\u0131na ve k\u00fct\u00fcphane ba\u011f\u0131ml\u0131l\u0131klar\u0131na ihtiya\u00e7 duymas\u0131 yayg\u0131n bir durumdur. Bu ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 y\u00f6netmek i\u00e7in sanal ortamlar kullan\u0131l\u0131r. Miniconda, bu sanal ortamlar\u0131 y\u00f6netmek i\u00e7in hafif ve esnek bir \u00e7\u00f6z\u00fcmd\u00fcr. Anaconda&#8217;n\u0131n daha k\u00fc\u00e7\u00fck bir versiyonu olup, sadece Conda paket y\u00f6neticisini ve Python&#8217;\u0131 i\u00e7erir. \u0130htiya\u00e7 duyulan di\u011fer k\u00fct\u00fcphaneler (NumPy, SciPy, TensorFlow, PyTorch vb.) Conda arac\u0131l\u0131\u011f\u0131yla sonradan kurulur.<br \/>\nMiniconda&#8217;n\u0131n tercih edilme nedenleri:<br \/>\n*   <strong>Ortam Y\u00f6netimi:<\/strong> Her proje i\u00e7in izole edilmi\u015f sanal ortamlar olu\u015fturarak ba\u011f\u0131ml\u0131l\u0131k \u00e7ak\u0131\u015fmalar\u0131n\u0131 \u00f6nler.<br \/>\n*   <strong>Paket Y\u00f6netimi:<\/strong> Conda, pip&#8217;ten farkl\u0131 olarak sadece Python paketlerini de\u011fil, ayn\u0131 zamanda C, C++, R gibi dillerdeki k\u00fct\u00fcphaneleri ve sistem ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 da y\u00f6netebilir. Bu, \u00f6zellikle CUDA, cuDNN gibi GPU ile ilgili k\u00fct\u00fcphanelerin do\u011fru versiyonlar\u0131n\u0131 kurarken b\u00fcy\u00fck kolayl\u0131k sa\u011flar.<br \/>\n*   <strong>Hafiflik:<\/strong> Anaconda&#8217;n\u0131n aksine, Miniconda minimal bir kurulum sunar, bu da \u00f6zellikle konteyner imaj boyutunu k\u00fc\u00e7\u00fck tutmak i\u00e7in idealdir.<br \/>\n*   <strong>Tekrar \u00dcretilebilirlik:<\/strong> <code>environment.yml<\/code> dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla ortam tan\u0131mlar\u0131n\u0131 payla\u015farak, ayn\u0131 ortam\u0131n farkl\u0131 makinelerde kolayca kurulmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>Neden \u00dc\u00e7\u00fcn\u00fc Birlikte Kullanmal\u0131y\u0131z?<\/h3>\n<p>GPU droplet&#8217;ler, Nvidia Container Toolkit ve Miniconda&#8217;n\u0131n birle\u015fimi, modern yapay zeka ve makine \u00f6\u011frenimi i\u015f y\u00fckleri i\u00e7in g\u00fc\u00e7l\u00fc, esnek ve tekrar \u00fcretilebilir bir geli\u015ftirme ve da\u011f\u0131t\u0131m platformu sunar.<br \/>\n*   <strong>GPU Droplet:<\/strong> Gerekli y\u00fcksek performansl\u0131 donan\u0131m\u0131 sa\u011flar.<br \/>\n*   <strong>Nvidia Container Toolkit:<\/strong> GPU droplet&#8217;teki GPU&#8217;lara konteyner i\u00e7inden eri\u015fimi m\u00fcmk\u00fcn k\u0131lar, b\u00f6ylece donan\u0131m ve yaz\u0131l\u0131m aras\u0131nda k\u00f6pr\u00fc kurar.<br \/>\n*   <strong>Miniconda:<\/strong> Konteyner i\u00e7indeki Python tabanl\u0131 uygulamalar i\u00e7in esnek ve izole edilmi\u015f ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi sa\u011flar.<\/p>\n<p>Bu \u00fc\u00e7l\u00fcn\u00fcn birle\u015fimiyle, geli\u015ftiriciler:<br \/>\n1.  Farkl\u0131 projeler i\u00e7in farkl\u0131 CUDA\/cuDNN\/Python\/TensorFlow\/PyTorch versiyonlar\u0131n\u0131 i\u00e7eren izole edilmi\u015f ortamlar\u0131 kolayca olu\u015fturabilir.<br \/>\n2.  Bu ortamlar\u0131 Docker konteynerleri arac\u0131l\u0131\u011f\u0131yla paketleyip herhangi bir GPU droplet&#8217;e ta\u015f\u0131yabilir.<br \/>\n3.  &#8220;Ba\u011f\u0131ml\u0131l\u0131k cehennemi&#8221; ya\u015famadan, ayn\u0131 ortam\u0131n her yerde ayn\u0131 \u015fekilde \u00e7al\u0131\u015faca\u011f\u0131ndan emin olabilir.<br \/>\n4.  Geli\u015ftirme, test ve \u00fcretim ortamlar\u0131 aras\u0131nda sorunsuz ge\u00e7i\u015f yapabilir.<\/p>\n<p>Bu rehberin geri kalan\u0131nda, bu \u00fc\u00e7 g\u00fc\u00e7l\u00fc bile\u015feni bir araya getirerek GPU destekli bir geli\u015ftirme ortam\u0131n\u0131 nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m anlataca\u011f\u0131z.<\/p>\n<h2>\u00d6n Haz\u0131rl\u0131klar ve Sistem Gereksinimleri<\/h2>\n<p>Bu rehberde anlat\u0131lan ad\u0131mlar\u0131 uygulayabilmek i\u00e7in baz\u0131 \u00f6n haz\u0131rl\u0131klar ve temel sistem gereksinimleri bulunmaktad\u0131r.<\/p>\n<h3>GPU Droplet Se\u00e7imi ve Temel Kurulum<\/h3>\n<p>\u0130lk ad\u0131m, bir GPU droplet sa\u011flamakt\u0131r. \u00c7e\u015fitli bulut sa\u011flay\u0131c\u0131lar\u0131 bu hizmeti sunmaktad\u0131r:<br \/>\n*   <strong>DigitalOcean:<\/strong> Genellikle &#8220;GPU Droplets&#8221; olarak adland\u0131r\u0131l\u0131r.<br \/>\n*   <strong>Vultr:<\/strong> &#8220;Cloud GPU&#8221; hizmeti sunar.<br \/>\n*   <strong>AWS:<\/strong> &#8220;EC2 G instances&#8221; (\u00f6rn. g4dn, g5).<br \/>\n*   <strong>Google Cloud:<\/strong> &#8220;GPU instances&#8221;.<br \/>\n*   <strong>Azure:<\/strong> &#8220;NV-series VMs&#8221;.<\/p>\n<p>Sa\u011flay\u0131c\u0131 se\u00e7imi ki\u015fisel tercihlere, b\u00fct\u00e7eye ve co\u011frafi konuma ba\u011fl\u0131d\u0131r. \u00c7o\u011fu sa\u011flay\u0131c\u0131, Ubuntu i\u015fletim sistemini \u00f6nceden y\u00fcklenmi\u015f olarak sunar ki bu, bizim i\u00e7in idealdir. Bu rehberde Ubuntu 20.04 veya 22.04 LTS s\u00fcr\u00fcm\u00fcn\u00fc varsayaca\u011f\u0131z.<br \/>\nDroplet&#8217;i olu\u015ftururken, yeterli CPU, RAM ve depolama alan\u0131 se\u00e7ti\u011finizden emin olun. Derin \u00f6\u011frenme projeleri genellikle bol miktarda RAM ve h\u0131zl\u0131 SSD depolama gerektirir.<\/p>\n<h3>SSH Eri\u015fimi ve Temel Linux Komutlar\u0131<\/h3>\n<p>Droplet&#8217;iniz haz\u0131r oldu\u011funda, ona SSH (Secure Shell) arac\u0131l\u0131\u011f\u0131yla ba\u011flanman\u0131z gerekecektir.<br \/>\nGenellikle \u015fu komut kullan\u0131l\u0131r:<\/p>\n<pre><code class=\"language-bash\">ssh root@<droplet_ip_adresi><\/code><\/pre>\n<p>veya bir anahtar dosyas\u0131 ile:<\/p>\n<pre><code class=\"language-bash\">ssh -i \/path\/to\/your\/ssh_key.pem root@<droplet_ip_adresi><\/code><\/pre>\n<p>Ba\u011fland\u0131ktan sonra, sistemi g\u00fcncellemek iyi bir ba\u015flang\u0131\u00e7t\u0131r:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu rehberde <code>sudo<\/code> komutunu s\u0131k\u00e7a kullanaca\u011f\u0131z. E\u011fer <code>root<\/code> kullan\u0131c\u0131s\u0131 de\u011filseniz, <code>sudo<\/code> grubuna dahil edilmi\u015f bir kullan\u0131c\u0131 ile i\u015flem yapman\u0131z gerekecektir.<\/p>\n<h2>Ad\u0131m Ad\u0131m Kurulum ve Yap\u0131land\u0131rma<\/h2>\n<p>\u015eimdi GPU droplet&#8217;inizi Nvidia Container Toolkit ve Miniconda ile donatmak i\u00e7in gerekli ad\u0131mlar\u0131 inceleyelim.<\/p>\n<h3>Ad\u0131m 1: Nvidia S\u00fcr\u00fcc\u00fclerini Y\u00fckleme<\/h3>\n<p>Nvidia GPU&#8217;lar\u0131n\u0131 kullanabilmek i\u00e7in en kritik ad\u0131m, uygun s\u00fcr\u00fcc\u00fcleri y\u00fcklemektir.<\/p>\n<h4>Mevcut S\u00fcr\u00fcc\u00fcleri Kontrol Etme<\/h4>\n<p>Baz\u0131 bulut sa\u011flay\u0131c\u0131lar\u0131, GPU droplet&#8217;leri \u00f6nceden y\u00fckl\u00fc Nvidia s\u00fcr\u00fcc\u00fcleriyle birlikte sunabilir. Bunu kontrol etmek i\u00e7in <code>nvidia-smi<\/code> komutunu \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">nvidia-smi<\/code><\/pre>\n<p>E\u011fer komut bulunamazsa veya &#8220;NVIDIA-SMI has failed&#8221; gibi bir hata al\u0131rsan\u0131z, s\u00fcr\u00fcc\u00fclerin y\u00fckl\u00fc olmad\u0131\u011f\u0131n\u0131 veya d\u00fczg\u00fcn \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h4>\u00d6nerilen S\u00fcr\u00fcc\u00fcleri Y\u00fckleme<\/h4>\n<p>Ubuntu&#8217;da Nvidia s\u00fcr\u00fcc\u00fclerini y\u00fcklemenin en kolay yolu <code>ubuntu-drivers<\/code> arac\u0131n\u0131 kullanmakt\u0131r.<br \/>\n\u00d6nce <code>software-properties-common<\/code> paketini kurarak ek depolara eri\u015fimi sa\u011flay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install software-properties-common -y\nsudo add-apt-repository ppa:graphics-drivers\/ppa -y\nsudo apt update<\/code><\/pre>\n<p>Ard\u0131ndan, sisteminiz i\u00e7in \u00f6nerilen s\u00fcr\u00fcc\u00fcleri listeleyin:<\/p>\n<pre><code class=\"language-bash\">ubuntu-drivers devices<\/code><\/pre>\n<p>Bu komut, GPU modelinizi ve \u00f6nerilen s\u00fcr\u00fcc\u00fc versiyonunu g\u00f6sterecektir (\u00f6rne\u011fin, <code>nvidia-driver-525<\/code>).<br \/>\n\u00d6nerilen s\u00fcr\u00fcc\u00fcy\u00fc otomatik olarak y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo ubuntu-drivers install<\/code><\/pre>\n<p>Alternatif olarak, belirli bir s\u00fcr\u00fcc\u00fc versiyonunu y\u00fcklemek isterseniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install nvidia-driver-<version> -y\n<h2>\u00d6rne\u011fin: sudo apt install nvidia-driver-525 -y<\/code><\/pre>\n<\/h2>\n<p>Kurulum tamamland\u0131ktan sonra, sistemin yeniden ba\u015flat\u0131lmas\u0131 genellikle gereklidir:<\/p>\n<pre><code class=\"language-bash\">sudo reboot<\/code><\/pre>\n<h4>S\u00fcr\u00fcc\u00fc Kurulumunu Do\u011frulama<\/h4>\n<p>Sistem yeniden ba\u015flat\u0131ld\u0131ktan sonra tekrar SSH ile ba\u011flan\u0131n ve <code>nvidia-smi<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">nvidia-smi<\/code><\/pre>\n<p>E\u011fer GPU bilgilerini (GPU modeli, s\u00fcr\u00fcc\u00fc versiyonu, CUDA versiyonu, bellek kullan\u0131m\u0131 vb.) g\u00f6steren bir tablo g\u00f6r\u00fcyorsan\u0131z, Nvidia s\u00fcr\u00fcc\u00fcleri ba\u015far\u0131yla kurulmu\u015f demektir.<\/p>\n<h3>Ad\u0131m 2: Docker Kurulumu<\/h3>\n<p>Nvidia Container Toolkit&#8217;i kullanabilmek i\u00e7in \u00f6ncelikle Docker Engine&#8217;in kurulu olmas\u0131 gerekir.<\/p>\n<h4>Docker Repositorisini Ekleme<\/h4>\n<p>Docker&#8217;\u0131n resmi repositorisinden en g\u00fcncel s\u00fcr\u00fcm\u00fc y\u00fcklemek en iyi yakla\u015f\u0131md\u0131r.<\/p>\n<pre><code class=\"language-bash\"># Gerekli paketleri y\u00fckleyin\nsudo apt install ca-certificates curl gnupg lsb-release -y\n\n<h2>Docker'\u0131n GPG anahtar\u0131n\u0131 ekleyin<\/h2>\nsudo mkdir -p \/etc\/apt\/keyrings\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/docker.gpg\n\n<h2>Repositoriyi ayarlay\u0131n<\/h2>\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=\/etc\/apt\/keyrings\/docker.gpg] https:\/\/download.docker.com\/linux\/ubuntu \\\n  $(lsb_release -cs) stable\" | sudo tee \/etc\/apt\/sources.list.d\/docker.list > \/dev\/null\n\n<h2>Paket listesini g\u00fcncelleyin<\/h2>\nsudo apt update<\/code><\/pre>\n<h4>Docker Engine Kurulumu<\/h4>\n<p>\u015eimdi Docker Engine, Containerd ve Docker Compose&#8217;u kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y<\/code><\/pre>\n<h4>Kullan\u0131c\u0131y\u0131 Docker Grubuna Ekleme<\/h4>\n<p><code>sudo<\/code> kullanmadan Docker komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rabilmek i\u00e7in mevcut kullan\u0131c\u0131n\u0131z\u0131 <code>docker<\/code> grubuna ekleyin. Bu, g\u00fcvenlik a\u00e7\u0131s\u0131ndan baz\u0131 riskler ta\u015f\u0131sa da, geli\u015ftirme ortamlar\u0131nda yayg\u0131n bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo usermod -aG docker $USER<\/code><\/pre>\n<p>Bu de\u011fi\u015fikli\u011fin etkili olmas\u0131 i\u00e7in oturumu kapat\u0131p tekrar a\u00e7man\u0131z veya droplet&#8217;i yeniden ba\u015flatman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">newgrp docker # Ge\u00e7ici olarak grubu etkinle\u015ftirir\n<h2>veya<\/h2>\nsudo reboot<\/code><\/pre>\n<h4>Docker Kurulumunu Do\u011frulama<\/h4>\n<p>Docker&#8217;\u0131n do\u011fru bir \u015fekilde kurulup \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 test edin:<\/p>\n<pre><code class=\"language-bash\">docker run hello-world<\/code><\/pre>\n<p>E\u011fer &#8220;Hello from Docker!&#8221; mesaj\u0131n\u0131 g\u00f6r\u00fcyorsan\u0131z, Docker ba\u015far\u0131yla kurulmu\u015ftur.<\/p>\n<h3>Ad\u0131m 3: Nvidia Container Toolkit Kurulumu<\/h3>\n<p>Bu ad\u0131m, Docker konteynerlerinin GPU&#8217;ya eri\u015fmesini sa\u011flayacakt\u0131r.<\/p>\n<h4>Nvidia Container Toolkit Repositorisini Ekleme<\/h4>\n<p>Nvidia Container Toolkit&#8217;i y\u00fcklemek i\u00e7in Nvidia&#8217;n\u0131n resmi repositorisini eklememiz gerekir.<\/p>\n<pre><code class=\"language-bash\"># GPG anahtar\u0131n\u0131 ekleyin\ncurl -fsSL https:\/\/nvidia.github.io\/libnvidia-container\/gpgkey | sudo gpg --dearmor -o \/usr\/share\/keyrings\/nvidia-container-toolkit-keyring.gpg\n\n<h2>Repositoriyi ekleyin<\/h2>\necho \"deb [signed-by=\/usr\/share\/keyrings\/nvidia-container-toolkit-keyring.gpg] https:\/\/nvidia.github.io\/libnvidia-container\/ubuntu\/$(lsb_release -cs) stable\" | \\\n  sudo tee \/etc\/apt\/sources.list.d\/nvidia-container-toolkit.list\n\n<h2>Paket listesini g\u00fcncelleyin<\/h2>\nsudo apt update<\/code><\/pre>\n<h4>Nvidia Container Toolkit Kurulumu<\/h4>\n<p>\u015eimdi <code>nvidia-docker2<\/code> paketini kurun:<\/p>\n<pre><code class=\"language-bash\">sudo apt install nvidia-container-toolkit -y<\/code><\/pre>\n<h4>Docker Daemon&#8217;u Yeniden Ba\u015flatma<\/h4>\n<p>Nvidia Container Toolkit&#8217;in yap\u0131land\u0131rmas\u0131n\u0131n Docker taraf\u0131ndan alg\u0131lanmas\u0131 i\u00e7in Docker daemon&#8217;u yeniden ba\u015flatmak gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart docker<\/code><\/pre>\n<h4>Nvidia Container Toolkit Kurulumunu Do\u011frulama<\/h4>\n<p>GPU eri\u015fiminin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek i\u00e7in, Nvidia&#8217;n\u0131n resmi CUDA tabanl\u0131 bir Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc \u00e7al\u0131\u015ft\u0131r\u0131n ve i\u00e7inde <code>nvidia-smi<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">docker run --rm --gpus all nvidia\/cuda:11.8.0-base-ubuntu22.04 nvidia-smi<\/code><\/pre>\n<p>(CUDA versiyonunu ve Ubuntu versiyonunu kendi ihtiya\u00e7lar\u0131n\u0131za g\u00f6re ayarlayabilirsiniz, <code>nvidia\/cuda:latest<\/code> de kullan\u0131labilir.)<br \/>\nE\u011fer bu komut, konteyner i\u00e7inden GPU bilgilerini g\u00f6steren <code>nvidia-smi<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131 veriyorsa, Nvidia Container Toolkit ba\u015far\u0131yla yap\u0131land\u0131r\u0131lm\u0131\u015ft\u0131r.<\/p>\n<h2>Miniconda ile GPU Destekli Docker Ortam\u0131 Olu\u015fturma<\/h2>\n<p>Art\u0131k Docker ve Nvidia Container Toolkit kurulu oldu\u011funa g\u00f6re, Miniconda ile \u00f6zel bir GPU destekli ortam olu\u015fturabiliriz.<\/p>\n<h3>Dockerfile Olu\u015fturma<\/h3>\n<p>Bir Dockerfile, Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc in\u015fa etmek i\u00e7in gerekli talimatlar\u0131 i\u00e7erir. A\u015fa\u011f\u0131da, Miniconda&#8217;y\u0131 kuran ve temel bir derin \u00f6\u011frenme ortam\u0131 olu\u015fturan \u00f6rnek bir Dockerfile bulunmaktad\u0131r.<\/p>\n<pre><code class=\"language-dockerfile\"># Dockerfile\n<h2>Temel G\u00f6r\u00fcnt\u00fc: Nvidia CUDA ve Ubuntu tabanl\u0131<\/h2>\n<h2>Bu, GPU eri\u015fimi i\u00e7in gerekli CUDA k\u00fct\u00fcphanelerini i\u00e7erir.<\/h2>\nFROM nvidia\/cuda:11.8.0-base-ubuntu22.04\n\n<h2>Konteyner i\u00e7indeki ortam de\u011fi\u015fkenlerini ayarla<\/h2>\nENV DEBIAN_FRONTEND=noninteractive\nENV PATH=\"\/opt\/conda\/bin:${PATH}\"\n\n<h2>Gerekli sistem paketlerini y\u00fckle<\/h2>\nRUN apt update && apt install -y --no-install-recommends \\\n    wget \\\n    git \\\n    bzip2 \\\n    ca-certificates \\\n    libgl1-mesa-glx \\\n    libsm6 \\\n    libxext6 \\\n    && apt clean \\\n    && rm -rf \/var\/lib\/apt\/lists\/*\n\n<h2>Miniconda'y\u0131 indir ve kur<\/h2>\n<h2>Miniconda s\u00fcr\u00fcm\u00fcn\u00fc ve Python s\u00fcr\u00fcm\u00fcn\u00fc ihtiyac\u0131n\u0131za g\u00f6re g\u00fcncelleyebilirsiniz.<\/h2>\nARG MINICONDA_VERSION=\"py310_23.1.0-1\"\nARG CONDA_DIR=\"\/opt\/conda\"\nRUN wget --quiet https:\/\/repo.anaconda.com\/miniconda\/Miniconda3-${MINICONDA_VERSION}-Linux-x86_64.sh -O miniconda.sh && \\\n    \/bin\/bash miniconda.sh -b -p ${CONDA_DIR} && \\\n    rm miniconda.sh && \\\n    ${CONDA_DIR}\/bin\/conda clean -tipsy && \\\n    conda init bash\n\n<h2>Conda ortam\u0131n\u0131 olu\u015ftur ve ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckle<\/h2>\n<h2>environment.yml dosyas\u0131n\u0131 kullanarak daha karma\u015f\u0131k ortamlar olu\u015fturabilirsiniz.<\/h2>\n<h2>Burada basit bir \u00f6rnek g\u00f6sterilmi\u015ftir.<\/h2>\nCOPY environment.yml \/tmp\/environment.yml\nRUN conda env create -f \/tmp\/environment.yml && \\\n    conda clean -afy && \\\n    rm \/tmp\/environment.yml\n\n<h2>Conda ortam\u0131n\u0131 etkinle\u015ftirmek i\u00e7in gerekli komutlar\u0131 ekle<\/h2>\n<h2>Bu, konteyner her ba\u015flat\u0131ld\u0131\u011f\u0131nda 'myenv' ortam\u0131n\u0131 otomatik olarak etkinle\u015ftirecektir.<\/h2>\nSHELL [\"conda\", \"run\", \"-n\", \"myenv\", \"\/bin\/bash\", \"-c\"]\n\n<h2>\u00c7al\u0131\u015fma dizinini ayarla<\/h2>\nWORKDIR \/app\n\n<h2>Konteyner ba\u015flat\u0131ld\u0131\u011f\u0131nda \u00e7al\u0131\u015facak varsay\u0131lan komut<\/h2>\n<h2>Bu, ortam\u0131n etkinle\u015ftirildi\u011fini ve kullan\u0131ma haz\u0131r oldu\u011funu g\u00f6sterir.<\/h2>\nCMD [\"conda\", \"run\", \"-n\", \"myenv\", \"bash\"]<\/code><\/pre>\n<p><strong><code>environment.yml<\/code> dosyas\u0131:<\/strong><br \/>\nBu dosya, Conda ortam\u0131n\u0131z\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 tan\u0131mlar. Dockerfile ile ayn\u0131 dizinde olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-yaml\">name: myenv\nchannels:\n  - defaults\n  - conda-forge\n  - nvidia # Nvidia GPU paketleri i\u00e7in\ndependencies:\n  - python=3.10\n  - pip\n  - numpy\n  - pandas\n  - scikit-learn\n  - matplotlib\n  - jupyter\n  # GPU destekli TensorFlow veya PyTorch i\u00e7in \u00f6zel paketler\n  - tensorflow-gpu # TensorFlow i\u00e7in (CUDA ve cuDNN ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 otomatik \u00e7\u00f6zer)\n  # - pytorch::pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch # PyTorch i\u00e7in\n  - pip:\n    - opencv-python\n    - tqdm<\/code><\/pre>\n<p><strong>\u00d6nemli Notlar:<\/strong><br \/>\n*   <code>FROM nvidia\/cuda:...<\/code>: CUDA s\u00fcr\u00fcm\u00fcn\u00fc ve Ubuntu s\u00fcr\u00fcm\u00fcn\u00fc GPU s\u00fcr\u00fcc\u00fclerinizle uyumlu olacak \u015fekilde se\u00e7in. <code>nvidia-smi<\/code> \u00e7\u0131kt\u0131n\u0131zdaki CUDA s\u00fcr\u00fcm\u00fcne yak\u0131n bir s\u00fcr\u00fcm tercih edin.<br \/>\n*   <code>MINICONDA_VERSION<\/code>: En son Miniconda s\u00fcr\u00fcm\u00fcn\u00fc Conda web sitesinden kontrol edin.<br \/>\n*   <code>environment.yml<\/code>: Bu dosya, Conda ortam\u0131n\u0131z\u0131n kalbini olu\u015fturur. Projenizin ihtiya\u00e7 duydu\u011fu t\u00fcm Python paketlerini ve di\u011fer ba\u011f\u0131ml\u0131l\u0131klar\u0131 buraya ekleyin. <code>tensorflow-gpu<\/code> veya <code>pytorch<\/code> gibi paketler, Conda&#8217;n\u0131n Nvidia kanal\u0131ndan geldi\u011finde CUDA ve cuDNN ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 otomatik olarak \u00e7\u00f6zecektir.<\/p>\n<h3>Docker G\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc \u0130n\u015fa Etme<\/h3>\n<p>Dockerfile ve <code>environment.yml<\/code> dosyalar\u0131n\u0131 ayn\u0131 dizine kaydettikten sonra (\u00f6rne\u011fin <code>my_gpu_project<\/code> ad\u0131nda bir dizin), terminali bu dizinde a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc in\u015fa edin:<\/p>\n<pre><code class=\"language-bash\">docker build -t my_gpu_env:latest .<\/code><\/pre>\n<p>*   <code>-t my_gpu_env:latest<\/code>: G\u00f6r\u00fcnt\u00fcye <code>my_gpu_env<\/code> ad\u0131n\u0131 ve <code>latest<\/code> etiketini verir.<br \/>\n*   <code>.<\/code>: Dockerfile&#8217;\u0131n mevcut dizinde oldu\u011funu belirtir.<\/p>\n<p>Bu i\u015flem biraz zaman alabilir, \u00e7\u00fcnk\u00fc Miniconda&#8217;y\u0131 indirecek, Conda ortam\u0131n\u0131 olu\u015fturacak ve t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131 y\u00fckleyecektir.<\/p>\n<h3>Docker Kapsay\u0131c\u0131s\u0131n\u0131 \u00c7al\u0131\u015ft\u0131rma ve Test Etme<\/h3>\n<p>G\u00f6r\u00fcnt\u00fc ba\u015far\u0131yla in\u015fa edildikten sonra, GPU eri\u015fimiyle bir kapsay\u0131c\u0131 \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">docker run --gpus all -it --name my_gpu_container my_gpu_env:latest<\/code><\/pre>\n<p>*   <code>--gpus all<\/code>: Bu, kapsay\u0131c\u0131n\u0131n ana makinedeki t\u00fcm GPU&#8217;lara eri\u015fmesini sa\u011flar.<br \/>\n*   <code>-it<\/code>: Etkile\u015fimli bir terminal a\u00e7ar.<br \/>\n*   <code>--name my_gpu_container<\/code>: Kapsay\u0131c\u0131ya <code>my_gpu_container<\/code> ad\u0131n\u0131 verir.<br \/>\n*   <code>my_gpu_env:latest<\/code>: \u00c7al\u0131\u015ft\u0131r\u0131lacak Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fcn ad\u0131 ve etiketi.<\/p>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, do\u011frudan <code>myenv<\/code> Conda ortam\u0131n\u0131n etkinle\u015ftirildi\u011fi kapsay\u0131c\u0131 terminaline d\u00fc\u015feceksiniz.<\/p>\n<h4>Kapsay\u0131c\u0131ya Eri\u015fim ve Conda Ortam\u0131n\u0131 Etkinle\u015ftirme<\/h4>\n<p>E\u011fer kapsay\u0131c\u0131dan \u00e7\u0131kt\u0131ysan\u0131z veya ba\u015fka bir terminalden eri\u015fmek isterseniz:<\/p>\n<pre><code class=\"language-bash\">docker exec -it my_gpu_container conda run -n myenv bash<\/code><\/pre>\n<h4>GPU Eri\u015fimini Test Etme (TensorFlow\/PyTorch \u00d6rne\u011fi)<\/h4>\n<p>Kapsay\u0131c\u0131 i\u00e7indeyken, Conda ortam\u0131n\u0131z\u0131n etkin oldu\u011fundan emin olun (terminalde <code>(myenv)<\/code> prefix&#8217;ini g\u00f6rmelisiniz). \u015eimdi bir Python beti\u011fi ile GPU eri\u015fimini test edebilirsiniz.<\/p>\n<p><strong>TensorFlow ile test:<\/strong><br \/>\nPython yorumlay\u0131c\u0131s\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">python<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki kodu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-python\">import tensorflow as tf\nprint(\"Num GPUs Available: \", len(tf.config.list_physical_devices('GPU')))\nprint(tf.config.list_physical_devices('GPU'))<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131 <code>Num GPUs Available: 1<\/code> (veya daha fazla) ve GPU cihaz\u0131n\u0131z\u0131n detaylar\u0131n\u0131 g\u00f6steriyorsa, TensorFlow GPU&#8217;yu ba\u015far\u0131l\u0131 bir \u015fekilde g\u00f6r\u00fcyor demektir.<\/p>\n<p><strong>PyTorch ile test (e\u011fer <code>environment.yml<\/code> dosyan\u0131za eklediyseniz):<\/strong><br \/>\nPython yorumlay\u0131c\u0131s\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">python<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki kodu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-python\">import torch\nprint(torch.cuda.is_available())\nprint(torch.cuda.device_count())\nprint(torch.cuda.current_device())\nprint(torch.cuda.get_device_name(0))<\/code><\/pre>\n<p>E\u011fer \u00e7\u0131kt\u0131 <code>True<\/code> ve GPU say\u0131s\u0131n\u0131 ve ad\u0131n\u0131 g\u00f6steriyorsa, PyTorch GPU&#8217;yu ba\u015far\u0131l\u0131 bir \u015fekilde g\u00f6r\u00fcyor demektir.<\/p>\n<p>Bu testler, GPU droplet&#8217;iniz, Nvidia s\u00fcr\u00fcc\u00fcleriniz, Docker, Nvidia Container Toolkit ve Miniconda ortam\u0131n\u0131z\u0131n sorunsuz bir \u015fekilde entegre oldu\u011funu do\u011frular. Art\u0131k derin \u00f6\u011frenme modellerinizi bu ortamda g\u00fcvenle geli\u015ftirebilir ve \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<h2>En \u0130yi Uygulamalar ve \u0130pu\u00e7lar\u0131<\/h2>\n<p>GPU destekli Docker ve Conda ortamlar\u0131n\u0131 kullan\u0131rken verimlili\u011fi ve tekrar \u00fcretilebilirli\u011fi art\u0131rmak i\u00e7in baz\u0131 en iyi uygulamalar mevcuttur.<\/p>\n<h3>Dockerfile Optimizasyonu<\/h3>\n<p>Dockerfile&#8217;\u0131n\u0131z\u0131n boyutu ve in\u015fa s\u00fcresi, genel i\u015f ak\u0131\u015f\u0131n\u0131z i\u00e7in \u00f6nemlidir.<\/p>\n<h4>.dockerignore Kullan\u0131m\u0131<\/h4>\n<p><code>Dockerfile<\/code> ile ayn\u0131 dizine <code>.dockerignore<\/code> ad\u0131nda bir dosya olu\u015fturarak, Docker g\u00f6r\u00fcnt\u00fcs\u00fcne dahil edilmesini istemedi\u011finiz dosyalar\u0131 ve dizinleri belirtebilirsiniz. Bu, in\u015fa ba\u011flam\u0131n\u0131n boyutunu azalt\u0131r ve in\u015fa s\u00fcresini h\u0131zland\u0131r\u0131r.<br \/>\n\u00d6rnek <code>.dockerignore<\/code>:<\/p>\n<pre><code class=\"language-\">.git\n.gitignore\n__pycache__\/\n*.pyc\n*.log\n.vscode\/\ndata\/\nnotebooks\/<\/code><\/pre>\n<h4>Katmanlama ve \u00d6nbellekleme<\/h4>\n<p>Docker, her bir <code>RUN<\/code>, <code>COPY<\/code>, <code>ADD<\/code> komutunu ayr\u0131 bir katman olarak \u00f6nbelle\u011fe al\u0131r. De\u011fi\u015fen katmanlar yeniden in\u015fa edilirken, de\u011fi\u015fmeyenler \u00f6nbellekten kullan\u0131l\u0131r.<br \/>\n*   <strong>De\u011fi\u015fme olas\u0131l\u0131\u011f\u0131 en d\u00fc\u015f\u00fck olan komutlar\u0131 \u00fcste koyun:<\/strong> Sistem g\u00fcncellemeleri, paket kurulumlar\u0131 gibi s\u0131k de\u011fi\u015fmeyen ad\u0131mlar Dockerfile&#8217;\u0131n \u00fcst k\u0131s\u0131mlar\u0131nda olmal\u0131d\u0131r.<br \/>\n*   <strong>S\u0131k de\u011fi\u015fen ba\u011f\u0131ml\u0131l\u0131klar\u0131 daha a\u015fa\u011f\u0131ya ta\u015f\u0131y\u0131n:<\/strong> \u00d6rne\u011fin, <code>environment.yml<\/code> dosyan\u0131z s\u0131k de\u011fi\u015fiyorsa, onu Conda kurulumundan sonra kopyalay\u0131n ve kullan\u0131n.<br \/>\n<em>   <strong>Ayn\u0131 <code>RUN<\/code> komutunda birden fazla i\u015flem yap\u0131n:<\/strong> <code>&&<\/code> kullanarak birden fazla komutu tek bir <code>RUN<\/code> katman\u0131nda birle\u015ftirmek, katman say\u0131s\u0131n\u0131 azalt\u0131r ve g\u00f6r\u00fcnt\u00fc boyutunu optimize eder. \u00d6rnek: <code>RUN apt update && apt install -y package1 package2 && rm -rf \/var\/lib\/apt\/lists\/<\/em><\/code>.<\/p>\n<h4>\u00c7ok A\u015famal\u0131 \u0130n\u015fa (Multi-stage Builds)<\/h4>\n<p>\u00dcretim ortamlar\u0131 i\u00e7in daha k\u00fc\u00e7\u00fck ve g\u00fcvenli g\u00f6r\u00fcnt\u00fcler olu\u015fturmak amac\u0131yla \u00e7ok a\u015famal\u0131 in\u015fa kullan\u0131labilir. \u0130lk a\u015famada t\u00fcm derleme ara\u00e7lar\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar kullan\u0131l\u0131r, ikinci a\u015famada ise sadece nihai uygulaman\u0131n \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli olanlar kopyalan\u0131r. Bu, gereksiz ara\u00e7lar\u0131n nihai g\u00f6r\u00fcnt\u00fcye dahil edilmesini engeller.<br \/>\n\u00d6rne\u011fin, bir uygulaman\u0131n ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fcklemek ve ard\u0131ndan sadece \u00e7al\u0131\u015ft\u0131r\u0131labilir dosyalar\u0131 nihai bir g\u00f6r\u00fcnt\u00fcye kopyalamak:<\/p>\n<pre><code class=\"language-dockerfile\"># A\u015fama 1: Ba\u011f\u0131ml\u0131l\u0131klar\u0131 kur ve derle\nFROM nvidia\/cuda:11.8.0-devel-ubuntu22.04 AS builder\n<h2>... Miniconda ve Conda ortam\u0131 kurulumu ...<\/h2>\n<h2>... Uygulaman\u0131z\u0131n derleme ad\u0131mlar\u0131 ...<\/h2>\n\n<h2>A\u015fama 2: Nihai \u00e7al\u0131\u015fma zaman\u0131 ortam\u0131<\/h2>\nFROM nvidia\/cuda:11.8.0-base-ubuntu22.04\n<h2>... Miniconda ve Conda ortam\u0131 kurulumu (sadece \u00e7al\u0131\u015fma zaman\u0131 i\u00e7in gerekli olanlar) ...<\/h2>\nCOPY --from=builder \/app\/dist \/app\/dist\n<h2>... di\u011fer \u00e7al\u0131\u015fma zaman\u0131 ayarlar\u0131 ...<\/code><\/pre>\n<\/h2>\n<h3>Veri Kal\u0131c\u0131l\u0131\u011f\u0131 ve Docker Volumes<\/h3>\n<p>Kapsay\u0131c\u0131lar varsay\u0131lan olarak efemerdir; yani kapsay\u0131c\u0131 silindi\u011finde i\u00e7indeki t\u00fcm veriler kaybolur. Veri kal\u0131c\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak i\u00e7in Docker volumes kullanmal\u0131s\u0131n\u0131z.<br \/>\n*   <strong>Bind Mounts:<\/strong> Ana makinedeki bir dizini kapsay\u0131c\u0131 i\u00e7indeki bir dizine ba\u011flar. Bu, geli\u015ftirme s\u0131ras\u0131nda kodunuzu ana makinede d\u00fczenlerken, de\u011fi\u015fikliklerin an\u0131nda kapsay\u0131c\u0131da g\u00f6r\u00fcnmesini sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">docker run --gpus all -it -v \/path\/on\/host:\/path\/in\/container my_gpu_env:latest\n    # \u00d6rnek: -v \/home\/user\/my_project:\/app<\/code><\/pre>\n<p>*   <strong>Named Volumes:<\/strong> Docker taraf\u0131ndan y\u00f6netilen \u00f6zel veri birimleridir. Veri kal\u0131c\u0131l\u0131\u011f\u0131 i\u00e7in daha sa\u011flam ve ta\u015f\u0131nabilir bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<pre><code class=\"language-bash\">docker volume create my_data_volume\n    docker run --gpus all -it -v my_data_volume:\/app\/data my_gpu_env:latest<\/code><\/pre>\n<p>Model a\u011f\u0131rl\u0131klar\u0131, veri k\u00fcmeleri ve log dosyalar\u0131 gibi \u00f6nemli verileri kaybetmemek i\u00e7in volume&#8217;lar\u0131 kullanmak \u015fartt\u0131r.<\/p>\n<h3>G\u00fcvenlik Hususlar\u0131<\/h3>\n<p>*   <strong>D\u00fc\u015f\u00fck Yetkili Kullan\u0131c\u0131lar:<\/strong> Dockerfile i\u00e7inde <code>USER<\/code> komutunu kullanarak <code>root<\/code> olmayan bir kullan\u0131c\u0131 ile \u00e7al\u0131\u015fmak g\u00fcvenlik risklerini azalt\u0131r.<br \/>\n*   <strong>Minimum G\u00f6r\u00fcnt\u00fc Boyutu:<\/strong> Gereksiz paketleri ve ara\u00e7lar\u0131 dahil etmeyerek sald\u0131r\u0131 y\u00fczeyini k\u00fc\u00e7\u00fclt\u00fcn.<br \/>\n*   <strong>G\u00fcncel Tutma:<\/strong> Temel g\u00f6r\u00fcnt\u00fcleri, i\u015fletim sistemi paketlerini ve Conda\/pip ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 d\u00fczenli olarak g\u00fcncelleyin.<\/p>\n<h3>Performans \u0130zleme<\/h3>\n<p>GPU droplet&#8217;inizde model e\u011fitirken veya \u00e7\u0131kar\u0131m yaparken GPU kullan\u0131m\u0131n\u0131 izlemek \u00f6nemlidir.<br \/>\n*   <strong>Ana Makinede:<\/strong> <code>nvidia-smi<\/code> komutu ile GPU kullan\u0131m\u0131n\u0131, bellek kullan\u0131m\u0131n\u0131 ve s\u0131cakl\u0131\u011f\u0131n\u0131 izleyebilirsiniz.<br \/>\n*   <strong>Kapsay\u0131c\u0131 \u0130\u00e7inde:<\/strong> Kapsay\u0131c\u0131ya <code>docker exec<\/code> ile ba\u011flan\u0131p yine <code>nvidia-smi<\/code> \u00e7al\u0131\u015ft\u0131rabilirsiniz.<br \/>\n*   <strong>Prometheus\/Grafana:<\/strong> Daha geli\u015fmi\u015f izleme i\u00e7in, ana makineye Prometheus Node Exporter ve Nvidia DCGM Exporter kurarak GPU metriklerini toplay\u0131p Grafana ile g\u00f6rselle\u015ftirebilirsiniz.<\/p>\n<h3>Versiyon Kontrol\u00fc<\/h3>\n<p>Dockerfile&#8217;\u0131n\u0131z\u0131, <code>environment.yml<\/code> dosyan\u0131z\u0131 ve t\u00fcm proje kodunuzu Git gibi bir versiyon kontrol sistemiyle y\u00f6netin. Bu, de\u011fi\u015fiklikleri izlemenizi, farkl\u0131 versiyonlar aras\u0131nda ge\u00e7i\u015f yapman\u0131z\u0131 ve i\u015fbirli\u011fi yapman\u0131z\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<h2>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h2>\n<p>Bu karma\u015f\u0131k kurulum s\u00fcrecinde baz\u0131 sorunlarla kar\u015f\u0131la\u015fmak olas\u0131d\u0131r. \u0130\u015fte en yayg\u0131n olanlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h3>Nvidia S\u00fcr\u00fcc\u00fc Sorunlar\u0131<\/h3>\n<p>*   <strong><code>nvidia-smi<\/code> komutu bulunamad\u0131 veya hata verdi:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Nvidia s\u00fcr\u00fcc\u00fclerinin do\u011fru y\u00fcklendi\u011finden ve sistemin yeniden ba\u015flat\u0131ld\u0131\u011f\u0131ndan emin olun. <code>sudo ubuntu-drivers install<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131r\u0131n ve sistemi yeniden ba\u015flat\u0131n. <code>PATH<\/code> de\u011fi\u015fkeninizin do\u011fru ayarland\u0131\u011f\u0131ndan emin olun (genellikle otomatik yap\u0131l\u0131r).<br \/>\n*   <strong>S\u00fcr\u00fcc\u00fc y\u00fckl\u00fc ama <code>nvidia-smi<\/code> \u00e7\u0131kt\u0131s\u0131nda GPU g\u00f6r\u00fcnm\u00fcyor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Bu, genellikle donan\u0131m veya sanalla\u015ft\u0131rma katman\u0131nda bir sorun oldu\u011funu g\u00f6sterir. Bulut sa\u011flay\u0131c\u0131n\u0131z\u0131n GPU droplet&#8217;inin do\u011fru yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun. Baz\u0131 durumlarda, daha eski veya daha yeni bir s\u00fcr\u00fcc\u00fc versiyonu denemek gerekebilir.<\/p>\n<h3>Docker Daemon \u00c7al\u0131\u015fm\u0131yor<\/h3>\n<p>*   <strong><code>Cannot connect to the Docker daemon<\/code> hatas\u0131:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong> Docker daemon&#8217;un \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin: <code>sudo systemctl status docker<\/code>. E\u011fer \u00e7al\u0131\u015fm\u0131yorsa ba\u015flat\u0131n: <code>sudo systemctl start docker<\/code>. Ayr\u0131ca, kullan\u0131c\u0131n\u0131z\u0131n <code>docker<\/code> grubunda oldu\u011fundan emin olun ve oturumu yeniden ba\u015flat\u0131n (<code>sudo usermod -aG docker $USER<\/code> ve <code>newgrp docker<\/code> veya <code>reboot<\/code>).<\/p>\n<h3>Nvidia Container Toolkit Yap\u0131land\u0131rma Hatalar\u0131<\/h3>\n<p>*   <strong><code>docker run --gpus all<\/code> hatas\u0131 veya konteyner i\u00e7inde <code>nvidia-smi<\/code> \u00e7al\u0131\u015fm\u0131yor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        1.  Nvidia Container Toolkit&#8217;in kurulu oldu\u011fundan emin olun: <code>sudo apt install nvidia-container-toolkit<\/code>.<br \/>\n        2.  Docker daemon&#8217;u yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zdan emin olun: <code>sudo systemctl restart docker<\/code>.<br \/>\n        3.  Nvidia Container Toolkit&#8217;in Docker yap\u0131land\u0131rmas\u0131na do\u011fru bir \u015fekilde entegre olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>\/etc\/docker\/daemon.json<\/code> dosyas\u0131nda <code>default-runtime<\/code> olarak <code>nvidia<\/code> veya <code>runtimes<\/code> alt\u0131nda <code>nvidia<\/code>&#8216;n\u0131n tan\u0131ml\u0131 oldu\u011fundan emin olun. Genellikle <code>nvidia-container-toolkit<\/code> kurulumu bunu otomatik yapar.<br \/>\n        4.  <code>nvidia\/cuda<\/code> tabanl\u0131 bir g\u00f6r\u00fcnt\u00fc ile test edin: <code>docker run --rm --gpus all nvidia\/cuda:11.8.0-base-ubuntu22.04 nvidia-smi<\/code>. E\u011fer bu \u00e7al\u0131\u015f\u0131yorsa, kendi Dockerfile&#8217;\u0131n\u0131zda bir sorun olabilir.<\/p>\n<h3>Conda Ortam\u0131 Etkinle\u015ftirme Sorunlar\u0131<\/h3>\n<p>*   <strong>Kapsay\u0131c\u0131 i\u00e7inde Conda ortam\u0131 etkinle\u015fmiyor veya paketler bulunam\u0131yor:<\/strong><br \/>\n    *   <strong>\u00c7\u00f6z\u00fcm:<\/strong><br \/>\n        1.  Dockerfile&#8217;\u0131n\u0131zdaki <code>ENV PATH=\"\/opt\/conda\/bin:${PATH}\"<\/code> sat\u0131r\u0131n\u0131n do\u011fru oldu\u011fundan ve Miniconda&#8217;n\u0131n do\u011fru dizine (<code>\/opt\/conda<\/code>) kuruldu\u011fundan emin olun.<br \/>\n        2.  <code>conda init bash<\/code> komutunun Dockerfile&#8217;da \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n        3.  <code>environment.yml<\/code> dosyan\u0131z\u0131n Dockerfile ile ayn\u0131 dizinde oldu\u011fundan ve <code>COPY<\/code> komutunun do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<br \/>\n        4.  <code>SHELL [\"conda\", \"run\", \"-n\", \"myenv\", \"\/bin\/bash\", \"-c\"]<\/code> veya <code>CMD [\"conda\", \"run\", \"-n\", \"myenv\", \"bash\"]<\/code> komutlar\u0131n\u0131n do\u011fru Conda ortam ad\u0131n\u0131 (<code>myenv<\/code>) kulland\u0131\u011f\u0131ndan emin olun.<br \/>\n        5.  Kapsay\u0131c\u0131ya ba\u011fland\u0131ktan sonra manuel olarak <code>conda activate myenv<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyin.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>GPU droplet&#8217;ler, Nvidia Container Toolkit ve Miniconda&#8217;n\u0131n birle\u015fimi, modern yapay zeka ve makine \u00f6\u011frenimi geli\u015ftirme ve da\u011f\u0131t\u0131m s\u00fcre\u00e7leri i\u00e7in vazge\u00e7ilmez bir \u00fc\u00e7l\u00fcd\u00fcr. Bu rehberde, bu g\u00fc\u00e7l\u00fc ara\u00e7lar\u0131 bir araya getirerek, GPU destekli uygulamalar\u0131n\u0131z\u0131 izole edilmi\u015f, tekrar \u00fcretilebilir ve ta\u015f\u0131nabilir Docker konteynerleri i\u00e7inde nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz.<\/p>\n<p>Nvidia s\u00fcr\u00fcc\u00fclerinin do\u011fru kurulumundan ba\u015flayarak, Docker ve Nvidia Container Toolkit&#8217;in yap\u0131land\u0131r\u0131lmas\u0131na, ard\u0131ndan Miniconda ile \u00f6zelle\u015ftirilmi\u015f bir derin \u00f6\u011frenme ortam\u0131 i\u00e7eren bir Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fcn olu\u015fturulmas\u0131na kadar t\u00fcm s\u00fcreci ele ald\u0131k. Ayr\u0131ca, Dockerfile optimizasyonu, veri kal\u0131c\u0131l\u0131\u011f\u0131, g\u00fcvenlik ve performans izleme gibi en iyi uygulamalarla birlikte s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara y\u00f6nelik \u00e7\u00f6z\u00fcmleri de inceledik.<\/p>\n<p>Bu yap\u0131land\u0131rma, geli\u015ftiricilerin &#8220;benim makinemde \u00e7al\u0131\u015f\u0131yor&#8221; sorununu ortadan kald\u0131rarak, farkl\u0131 ortamlarda tutarl\u0131 sonu\u00e7lar elde etmelerini sa\u011flar. Ayn\u0131 zamanda, ba\u011f\u0131ml\u0131l\u0131k y\u00f6netiminin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 azalt\u0131r ve projelerin \u00f6l\u00e7eklenebilirli\u011fini art\u0131r\u0131r. Bu bilgi ve ara\u00e7larla donanm\u0131\u015f olarak, GPU droplet&#8217;lerinizin t\u00fcm potansiyelini kullanarak en zorlu yapay zeka ve makine \u00f6\u011frenimi projelerinizi ba\u015far\u0131yla hayata ge\u00e7irebilirsiniz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber\nGiri\u015f: GPU Droplet&#8217;ler, Konteynerizasyon ve Ortam Y\u00f6netimi","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":[1342],"tags":[],"class_list":{"0":"post-34185","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ai","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>GPU Droplet&#039;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\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\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GPU Droplet&#039;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"GPU Droplet&#039;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber Giri\u015f: GPU Droplet&#039;ler, Konteynerizasyon ve Ortam Y\u00f6netimi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-12T08:40:59+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=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-11-12T08:40:59+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\"},\"wordCount\":3639,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"AI\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\",\"name\":\"GPU Droplet'lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-12T08:40:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber\"}]},{\"@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":"GPU Droplet'lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","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\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"GPU Droplet'lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber","og_description":"GPU Droplet'lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber Giri\u015f: GPU Droplet'ler, Konteynerizasyon ve Ortam Y\u00f6netimi","og_url":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-12T08:40:59+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber","datePublished":"2025-11-12T08:40:59+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/"},"wordCount":3639,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["AI"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/","name":"GPU Droplet'lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-12T08:40:59+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/gpu-dropletlerde-nvidia-container-tools-ve-miniconda-kullanimi-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"GPU Droplet&#8217;lerde Nvidia Container Tools ve Miniconda Kullan\u0131m\u0131: Kapsaml\u0131 Bir Rehber"}]},{"@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\/34185","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=34185"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34185\/revisions"}],"predecessor-version":[{"id":34186,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/34185\/revisions\/34186"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=34185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=34185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=34185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}