{"id":31551,"date":"2025-10-11T06:31:52","date_gmt":"2025-10-11T03:31:52","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/"},"modified":"2025-10-11T06:31:52","modified_gmt":"2025-10-11T03:31:52","slug":"solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/","title":{"rendered":"Solana Docker Ortam\u0131: Windows&#8217;ta WSL Olmadan Kal\u0131c\u0131 Kurulum"},"content":{"rendered":"<p><body><\/p>\n<p>\n    Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL&#8217;nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.\n  <\/p>\n<p>\n    Bu yakla\u015f\u0131m sayesinde, geli\u015ftirme s\u00fcre\u00e7lerinizde kar\u015f\u0131la\u015fabilece\u011finiz bir\u00e7ok uyumluluk sorununu ortadan kald\u0131racak, farkl\u0131 projeler aras\u0131nda h\u0131zl\u0131ca ge\u00e7i\u015f yapabilecek ve ekipler aras\u0131 i\u015fbirli\u011fini kolayla\u015ft\u0131racaks\u0131n\u0131z. Docker\u2019\u0131n sundu\u011fu izolasyon yetenekleri, Solana validator\u2019\u0131n\u0131z\u0131n ve dApp\u2019lerinizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n sisteminizdeki di\u011fer yaz\u0131l\u0131mlarla \u00e7ak\u0131\u015fmamas\u0131n\u0131 garantilerken, kal\u0131c\u0131 depolama \u00e7\u00f6z\u00fcmleri sayesinde veri kayb\u0131 endi\u015fesi olmadan g\u00fcvenle \u00e7al\u0131\u015fabileceksiniz. \u00d6yleyse, hi\u00e7 vakit kaybetmeden bu g\u00fc\u00e7l\u00fc ikilinin sundu\u011fu avantajlar\u0131 ke\u015ffetmeye ba\u015flayal\u0131m!\n  <\/p>\n<h2>Temel Kavramlar Nelerdir? Solana ve Docker K\u0131saca<\/h2>\n<p>\n    Solana ve Docker, g\u00fcn\u00fcm\u00fcz\u00fcn yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131nda s\u0131kl\u0131kla kar\u015f\u0131m\u0131za \u00e7\u0131kan iki g\u00fc\u00e7l\u00fc teknolojidir. Bu iki teknolojiyi bir araya getirmek, blok zinciri geli\u015ftirme s\u00fcre\u00e7lerini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirebilir ve optimize edebilir. Ancak, her \u015feyden \u00f6nce bu iki temel kavram\u0131 k\u0131saca anlamam\u0131z \u00f6nemlidir.\n  <\/p>\n<p>\n    <strong>Solana Nedir?<\/strong> Solana, y\u00fcksek performansl\u0131 merkeziyetsiz uygulamalar ve kripto projeleri i\u00e7in tasarlanm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131, \u00f6l\u00e7eklenebilir bir blok zinciri platformudur. H\u0131zl\u0131 i\u015flem s\u00fcreleri, d\u00fc\u015f\u00fck i\u015flem \u00fccretleri ve y\u00fcksek i\u015flem hacmi kapasitesi ile bilinir. Solana&#8217;n\u0131n temel \u00f6zelliklerinden biri, Proof-of-History (PoH) ad\u0131 verilen yenilik\u00e7i bir konsens\u00fcs mekanizmas\u0131d\u0131r. Bu mekanizma, a\u011fdaki olaylar\u0131n zamanlamas\u0131n\u0131 do\u011frulamak i\u00e7in kriptografik bir saat olu\u015fturarak, di\u011fer blok zincirlerinin ya\u015fad\u0131\u011f\u0131 \u00f6l\u00e7eklenebilirlik sorunlar\u0131n\u0131n \u00fcstesinden gelmeye yard\u0131mc\u0131 olur. Geli\u015ftiriciler, Solana \u00fczerinde Rust programlama dilini kullanarak ak\u0131ll\u0131 s\u00f6zle\u015fmeler (programlar) yazabilir ve da\u011f\u0131tabilirler. Solana CLI (Command Line Interface) ara\u00e7lar\u0131, bu programlar\u0131 derlemek, da\u011f\u0131tmak ve Solana a\u011f\u0131yla etkile\u015fim kurmak i\u00e7in vazge\u00e7ilmezdir. Geli\u015ftiricilerin \u00e7o\u011fu, dApp&#8217;lerini canl\u0131 a\u011flara da\u011f\u0131tmadan \u00f6nce, yerel bir validator d\u00fc\u011f\u00fcm\u00fcnde test etmeyi tercih ederler. Bu, hem maliyetten tasarruf sa\u011flar hem de hatalar\u0131n erken a\u015famada tespit edilmesine olanak tan\u0131r.\n  <\/p>\n<p>\n    <strong>Docker Nedir?<\/strong> Docker, uygulamalar\u0131 ve ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 izole edilmi\u015f, ta\u015f\u0131nabilir &#8220;konteynerler&#8221; i\u00e7inde paketlemeyi sa\u011flayan bir platformdur. Geleneksel sanal makinelerden farkl\u0131 olarak, Docker konteynerleri i\u015fletim sistemini i\u00e7ermez; bunun yerine ana bilgisayar\u0131n \u00e7ekirde\u011fini payla\u015f\u0131r. Bu durum, konteynerleri \u00e7ok daha hafif, h\u0131zl\u0131 ve verimli hale getirir. Docker&#8217;\u0131n temel bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li>\n        <strong>Dockerfile:<\/strong> Bir Docker imaj\u0131n\u0131 olu\u015fturmak i\u00e7in kullan\u0131lan talimatlar\u0131 i\u00e7eren metin tabanl\u0131 bir dosyad\u0131r. \u00d6rne\u011fin, bir uygulamay\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in hangi i\u015fletim sistemi taban\u0131n\u0131n kullan\u0131laca\u011f\u0131n\u0131, hangi yaz\u0131l\u0131mlar\u0131n kurulaca\u011f\u0131n\u0131 ve hangi komutlar\u0131n \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 belirtir.\n      <\/li>\n<li>\n        <strong>Docker \u0130maj\u0131:<\/strong> Bir uygulaman\u0131n ve onun t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n anl\u0131k g\u00f6r\u00fcnt\u00fcs\u00fcd\u00fcr. \u00c7al\u0131\u015ft\u0131r\u0131labilir bir paket olup, birden \u00e7ok konteyner olu\u015fturmak i\u00e7in bir \u015fablon g\u00f6revi g\u00f6r\u00fcr.\n      <\/li>\n<li>\n        <strong>Docker Konteyneri:<\/strong> Bir Docker imaj\u0131n\u0131n \u00e7al\u0131\u015fan bir \u00f6rne\u011fidir. \u0130zole edilmi\u015f bir ortamda \u00e7al\u0131\u015f\u0131r ve ana bilgisayar sisteminden ba\u011f\u0131ms\u0131zd\u0131r.\n      <\/li>\n<li>\n        <strong>Docker Compose:<\/strong> Birden fazla Docker konteynerini i\u00e7eren uygulamalar\u0131 tan\u0131mlamak ve \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Tek bir YAML dosyas\u0131 kullanarak t\u00fcm hizmetleri, a\u011flar\u0131 ve depolama birimlerini yap\u0131land\u0131rman\u0131za olanak tan\u0131r. Bu, karma\u015f\u0131k uygulamalar\u0131n kurulumunu ve y\u00f6netimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir.\n      <\/li>\n<li>\n        <strong>Docker Volumes (Birimler):<\/strong> Konteynerler taraf\u0131ndan olu\u015fturulan ve kullan\u0131lan verilerin kal\u0131c\u0131 olarak depolanmas\u0131n\u0131 sa\u011flar. Konteynerler silinse bile veriler g\u00fcvende kal\u0131r ve yeni konteynerler taraf\u0131ndan tekrar kullan\u0131labilir. Bu, kal\u0131c\u0131 bir Solana validator ortam\u0131 kurmak i\u00e7in anahtar bir bile\u015fendir.\n      <\/li>\n<\/ul>\n<p>\n    Solana ve Docker&#8217;\u0131 birle\u015ftirmek, \u00f6zellikle Windows ortam\u0131nda, geli\u015ftirme s\u00fcre\u00e7lerine b\u00fcy\u00fck avantajlar sa\u011flar. Docker, Solana CLI&#8217;y\u0131, Rust derleyicisini ve di\u011fer ba\u011f\u0131ml\u0131l\u0131klar\u0131 i\u00e7eren tutarl\u0131 ve izole bir ortam sunar. Bu, &#8220;benim makinemde \u00e7al\u0131\u015f\u0131yor&#8221; sorununu ortadan kald\u0131r\u0131r ve geli\u015ftirme ortam\u0131n\u0131n her yerde ayn\u0131 \u015fekilde davranmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, Docker volume&#8217;lar\u0131 sayesinde Solana validator&#8217;\u0131n\u0131z\u0131n blok verileri, i\u015flem ge\u00e7mi\u015fi ve c\u00fczdan bilgileri gibi kritik verileri kal\u0131c\u0131 olarak saklayabilir, b\u00f6ylece her ba\u015flang\u0131\u00e7ta s\u0131f\u0131rdan ba\u015flamak zorunda kalmazs\u0131n\u0131z. Bu, hem zaman tasarrufu hem de geli\u015ftirme verimlili\u011fi a\u00e7\u0131s\u0131ndan paha bi\u00e7ilmezdir.\n  <\/p>\n<h2>Windows&#8217;a Docker Desktop Nas\u0131l Kurulur ve Yap\u0131land\u0131r\u0131l\u0131r?<\/h2>\n<p>\n    Windows&#8217;ta WSL (Windows Alt Sistemi Linux) kullanmadan, do\u011frudan Docker Desktop \u00fczerinden bir Solana geli\u015ftirme ortam\u0131 kurman\u0131n ilk ve en \u00f6nemli ad\u0131m\u0131, Docker Desktop&#8217;\u0131 do\u011fru \u015fekilde y\u00fcklemek ve yap\u0131land\u0131rmakt\u0131r. Bu b\u00f6l\u00fcm, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.\n  <\/p>\n<p>\n    <strong>Ad\u0131m 1: Sistem Gereksinimlerini Kontrol Edin.<\/strong><br \/>\n    Docker Desktop&#8217;\u0131n Windows&#8217;ta sorunsuz \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 temel gereksinimler bulunmaktad\u0131r:<\/p>\n<ul>\n<li>\n        <strong>\u0130\u015fletim Sistemi:<\/strong> Windows 10 64-bit: Home veya Pro s\u00fcr\u00fcm 2004 veya daha y\u00fcksek (build 19041 veya daha y\u00fcksek). Windows 11 i\u00e7in t\u00fcm s\u00fcr\u00fcmler desteklenir.\n      <\/li>\n<li>\n        <strong>Donan\u0131m Sanalla\u015ft\u0131rmas\u0131:<\/strong> Bilgisayar\u0131n\u0131z\u0131n BIOS\/UEFI ayarlar\u0131nda donan\u0131m sanalla\u015ft\u0131rma \u00f6zelli\u011finin (Intel VT-x veya AMD-V) etkinle\u015ftirilmi\u015f olmas\u0131 gerekir. Bu, Docker&#8217;\u0131n sanal makine (Hyper-V) \u00fczerinde \u00e7al\u0131\u015fabilmesi i\u00e7in zorunludur.\n      <\/li>\n<li>\n        <strong>Hyper-V Deste\u011fi:<\/strong> Windows 10 Pro, Enterprise veya Education s\u00fcr\u00fcmlerinde Hyper-V&#8217;nin etkinle\u015ftirilmesi gerekir. Windows 10 Home kullan\u0131c\u0131lar\u0131 i\u00e7in Hyper-V yerine alternatif bir sanalla\u015ft\u0131rma motoru (\u00f6rne\u011fin eski Docker Desktop versiyonlar\u0131nda VirtualBox, yeni versiyonlarda otomatikle\u015fmi\u015f Hyper-V Lite) kullan\u0131labilir veya Windows&#8217;un kendi sanalla\u015ft\u0131rma yetenekleri etkinle\u015ftirilebilir. Bizim senaryomuzda, WSL&#8217;siz bir deneyim i\u00e7in Hyper-V&#8217;nin temel al\u0131nmas\u0131 \u00f6nemlidir.\n      <\/li>\n<li>\n        <strong>RAM:<\/strong> En az 4 GB RAM (8 GB veya daha fazlas\u0131 \u015fiddetle tavsiye edilir).\n      <\/li>\n<li>\n        <strong>Disk Alan\u0131:<\/strong> Yeterli bo\u015f disk alan\u0131. Docker imajlar\u0131 ve konteyner verileri diskte yer kaplayacakt\u0131r.\n      <\/li>\n<\/ul>\n<p>\n    <strong>Ad\u0131m 2: Docker Desktop&#8217;\u0131 \u0130ndirin ve Kurun.<\/strong><\/p>\n<ol>\n<li>\n        Resmi Docker web sitesine gidin: <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\">www.docker.com\/products\/docker-desktop\/<\/a>\n      <\/li>\n<li>\n        &#8220;Download for Windows&#8221; butonuna t\u0131klayarak kurulum dosyas\u0131n\u0131 indirin.\n      <\/li>\n<li>\n        \u0130ndirilen <code>Docker Desktop Installer.exe<\/code> dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n.\n      <\/li>\n<li>\n        Kurulum sihirbaz\u0131 ba\u015flad\u0131\u011f\u0131nda, &#8220;Use WSL 2 instead of Hyper-V (recommended)&#8221; se\u00e7ene\u011finin i\u015faretli OLMADI\u011eINDAN emin olun. Bizim amac\u0131m\u0131z WSL kullanmamak oldu\u011fu i\u00e7in bu se\u00e7ene\u011fi devre d\u0131\u015f\u0131 b\u0131rakmal\u0131s\u0131n\u0131z. E\u011fer bu se\u00e7enek g\u00f6r\u00fcnm\u00fcyorsa, Docker Desktop muhtemelen do\u011frudan Hyper-V&#8217;yi kullanacak \u015fekilde yap\u0131land\u0131r\u0131lacakt\u0131r.\n      <\/li>\n<li>\n        Kurulumu tamamlamak i\u00e7in talimatlar\u0131 izleyin. Kurulum s\u0131ras\u0131nda bilgisayar\u0131n\u0131z\u0131n yeniden ba\u015flat\u0131lmas\u0131 istenebilir.\n      <\/li>\n<\/ol>\n<p>\n    <strong>Ad\u0131m 3: \u0130lk \u00c7al\u0131\u015ft\u0131rma ve Ayarlar\u0131 Yap\u0131land\u0131rma.<\/strong><\/p>\n<ol>\n<li>\n        Kurulum tamamland\u0131ktan sonra Docker Desktop uygulamas\u0131n\u0131 ba\u015flat\u0131n. Ba\u015flang\u0131\u00e7ta biraz zaman alabilir.\n      <\/li>\n<li>\n        Docker ba\u015far\u0131yla ba\u015flad\u0131\u011f\u0131nda, Windows g\u00f6rev \u00e7ubu\u011funun sa\u011f alt k\u00f6\u015fesinde (sistem tepsisinde) mavi bir balina simgesi g\u00f6rmelisiniz. Bu simge, Docker&#8217;\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.\n      <\/li>\n<li>\n        Balina simgesine sa\u011f t\u0131klay\u0131n ve &#8220;Settings&#8221; (Ayarlar) se\u00e7ene\u011fini se\u00e7in.\n      <\/li>\n<li>\n        Ayarlar men\u00fcs\u00fcnde:<\/p>\n<ul>\n<li>\n            <strong>Resources (Kaynaklar):<\/strong> Bu b\u00f6l\u00fcm, Docker&#8217;\u0131n ana bilgisayar\u0131n\u0131zdan ne kadar CPU, RAM ve disk alan\u0131 kullanaca\u011f\u0131n\u0131 belirlemenizi sa\u011flar. Solana validator&#8217;\u0131n\u0131z\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in, \u00f6zellikle RAM ve CPU i\u00e7in yeterli kaynak ay\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. Minimum 4 CPU \u00e7ekirde\u011fi ve 8 GB RAM \u00f6nerilir, ancak projenizin b\u00fcy\u00fckl\u00fc\u011f\u00fcne g\u00f6re bu de\u011ferleri art\u0131rman\u0131z gerekebilir.\n          <\/li>\n<li>\n            <strong>General (Genel):<\/strong> &#8220;Use the WSL 2 based engine&#8221; se\u00e7ene\u011finin i\u015faretli OLMADI\u011eINDAN emin olun. E\u011fer i\u015faretliyse, WSL&#8217;siz bir deneyim i\u00e7in i\u015faretini kald\u0131r\u0131n ve de\u011fi\u015fiklikleri uygulamak i\u00e7in Docker&#8217;\u0131 yeniden ba\u015flat\u0131n. (Baz\u0131 yeni Docker Desktop s\u00fcr\u00fcmlerinde bu se\u00e7enek varsay\u0131lan olarak WSL2&#8217;ye ba\u011fl\u0131 olabilir ve eski Hyper-V se\u00e7ene\u011fi daha az belirgin olabilir. Bu durumda, Docker&#8217;\u0131n Hyper-V ile \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in Windows Features&#8217;da &#8220;Hyper-V&#8221; \u00f6zelli\u011finin etkin oldu\u011fundan emin olmal\u0131s\u0131n\u0131z.)\n          <\/li>\n<li>\n            <strong>Disk Image Location (Disk \u0130maj\u0131 Konumu):<\/strong> Docker verilerini (imajlar, volume&#8217;lar) saklad\u0131\u011f\u0131 yerdir. E\u011fer h\u0131zl\u0131 bir SSD diskiniz varsa, bu konumu SSD \u00fczerine ta\u015f\u0131mak performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.\n          <\/li>\n<\/ul>\n<\/li>\n<li>\n        Ayarlar\u0131 kaydettikten sonra, e\u011fer istenirse Docker Desktop&#8217;\u0131 yeniden ba\u015flat\u0131n.\n      <\/li>\n<\/ol>\n<p class=\"expert-tip\">\n    Uzman \u0130pucu: Windows&#8217;ta Hyper-V&#8217;nin etkin oldu\u011fundan emin olmak i\u00e7in &#8216;Windows \u00d6zelliklerini A\u00e7 veya Kapat&#8217; (Turn Windows features on or off) kontrol panelini a\u00e7\u0131n ve &#8216;Hyper-V&#8217; se\u00e7ene\u011finin i\u015faretli oldu\u011funu kontrol edin. E\u011fer i\u015faretli de\u011filse, i\u015faretleyip bilgisayar\u0131n\u0131z\u0131 yeniden ba\u015flatman\u0131z gerekecektir. Bu, Docker Desktop&#8217;\u0131n WSL olmadan d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in kritik bir ad\u0131md\u0131r.\n  <\/p>\n<p>\n    Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, Windows sisteminizde Docker Desktop&#8217;\u0131 ba\u015far\u0131yla kurmu\u015f ve Solana geli\u015ftirme i\u00e7in temel altyap\u0131y\u0131 haz\u0131rlam\u0131\u015f olacaks\u0131n\u0131z. Art\u0131k konteynerler olu\u015fturmaya ve Solana validator&#8217;\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmaya haz\u0131rs\u0131n\u0131z!\n  <\/p>\n<h2>Kal\u0131c\u0131 Solana Docker Ortam\u0131 \u0130\u00e7in Temel Haz\u0131rl\u0131klar ve Dosya Yap\u0131s\u0131<\/h2>\n<p>\n    Docker Desktop kurulumunu ba\u015far\u0131yla tamamlad\u0131ktan sonra, kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak i\u00e7in gerekli dosya yap\u0131s\u0131n\u0131 ve temel yap\u0131land\u0131rmay\u0131 haz\u0131rlaman\u0131z gerekmektedir. Bu ad\u0131m, hem Solana CLI ara\u00e7lar\u0131n\u0131 i\u00e7eren \u00f6zel bir Docker imaj\u0131 olu\u015fturmay\u0131 hem de Docker Compose kullanarak validator servisini tan\u0131mlamay\u0131 kapsar.\n  <\/p>\n<p>\n    <strong>Ad\u0131m 1: Proje Dizini Olu\u015fturma.<\/strong><br \/>\n    \u00d6ncelikle, t\u00fcm projenizin dosyalar\u0131n\u0131 i\u00e7erecek bir ana dizin olu\u015fturun. \u00d6rne\u011fin, <code>C:\\SolanaDocker<\/code> veya <code>D:\\Projects\\SolanaDev<\/code> gibi bir konum se\u00e7ebilirsiniz. Bu dizin i\u00e7inde, Dockerfile ve docker-compose.yml dosyalar\u0131n\u0131z\u0131 bar\u0131nd\u0131racaks\u0131n\u0131z.<\/p>\n<pre><code class=\"language-bash\">\nmkdir C:\\SolanaDocker\ncd C:\\SolanaDocker\n    <\/pre>\n<p><\/code>\n  <\/p>\n<p>\n    <strong>Ad\u0131m 2: Solana CLI \u0130\u00e7eren Bir Dockerfile Olu\u015fturma.<\/strong><br \/>\n    Solana validator'\u0131 \u00e7al\u0131\u015ft\u0131rmak ve Solana a\u011f\u0131yla etkile\u015fim kurmak i\u00e7in Solana CLI ara\u00e7lar\u0131na ihtiyac\u0131m\u0131z var. Bu ara\u00e7lar\u0131 bir Docker imaj\u0131na dahil etmek, ba\u011f\u0131ml\u0131l\u0131klar\u0131 izole etmenin ve ortam tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flaman\u0131n en iyi yoludur. <code>C:\\SolanaDocker<\/code> dizini i\u00e7inde <code>Dockerfile<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine a\u015fa\u011f\u0131daki i\u00e7eri\u011fi yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-dockerfile\">\n# Dockerfile\nFROM ubuntu:latest\n\n# Gerekli ba\u011f\u0131ml\u0131l\u0131klar\u0131 ve ara\u00e7lar\u0131 y\u00fckle\nRUN apt-get update && apt-get install -y \\\n    curl \\\n    pkg-config \\\n    build-essential \\\n    libudev-dev \\\n    git \\\n    lsb-release \\\n    ca-certificates \\\n    apt-transport-https \\\n    software-properties-common \\\n    && rm -rf \/var\/lib\/apt\/lists\/*\n\n# Rust programlama dilini y\u00fckle (Ak\u0131ll\u0131 s\u00f6zle\u015fme geli\u015ftirmek i\u00e7in)\nRUN curl --proto '=https' --tlsv1.2 -sSf https:\/\/sh.rustup.rs | sh -s -- -y\nENV PATH=\"\/root\/.cargo\/bin:${PATH}\"\n\n# Solana CLI'y\u0131 y\u00fckle\n# En son stabil s\u00fcr\u00fcm\u00fc kontrol etmek i\u00e7in: https:\/\/docs.solana.com\/cli\/install-solana-cli\nARG SOLANA_VERSION=v1.18.4\nRUN sh -c \"$(curl -sSfL https:\/\/release.solana.com\/${SOLANA_VERSION}\/install)\"\nENV PATH=\"\/root\/.local\/share\/solana\/install\/active_release\/bin:${PATH}\"\n\n# \u00c7al\u0131\u015fma dizinini ayarla\nWORKDIR \/app\n\n# Konteyner ba\u015flat\u0131ld\u0131\u011f\u0131nda varsay\u0131lan komut (sadece versiyonu g\u00f6sterir)\nCMD [\"solana\", \"--version\"]\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Bu Dockerfile, Solana CLI'n\u0131n ve Rust'\u0131n konteyner i\u00e7inde haz\u0131r olmas\u0131n\u0131 sa\u011flar. <code>SOLANA_VERSION<\/code> de\u011fi\u015fkenini istedi\u011finiz Solana s\u00fcr\u00fcm\u00fcne g\u00f6re ayarlayabilirsiniz.\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 3: Docker \u0130maj\u0131n\u0131 Olu\u015fturma.<\/strong><br \/>\n    <code>Dockerfile<\/code> dosyas\u0131n\u0131 kaydettikten sonra, komut istemcisini veya PowerShell'i <code>C:\\SolanaDocker<\/code> dizininde a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rarak Docker imaj\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code class=\"language-bash\">\ndocker build -t solana_cli_image .\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Bu komut, ge\u00e7erli dizindeki <code>Dockerfile<\/code>'\u0131 kullanarak <code>solana_cli_image<\/code> etiketli bir Docker imaj\u0131 olu\u015fturacakt\u0131r. Bu i\u015flem, internet ba\u011flant\u0131n\u0131z\u0131n h\u0131z\u0131na ba\u011fl\u0131 olarak biraz zaman alabilir.\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 4: Docker Compose ile Kal\u0131c\u0131 Depolama ve Servis Tan\u0131mlama.<\/strong><br \/>\n    Kal\u0131c\u0131 bir Solana validator d\u00fc\u011f\u00fcm\u00fc i\u00e7in <code>docker-compose.yml<\/code> dosyas\u0131 olu\u015fturmak, en kritik ad\u0131mlardan biridir. Bu dosya, validator servisini tan\u0131mlayacak, gerekli portlar\u0131 a\u00e7acak ve en \u00f6nemlisi, validator verilerini kal\u0131c\u0131 olarak saklamak i\u00e7in bir Docker Volume olu\u015fturacakt\u0131r. <code>C:\\SolanaDocker<\/code> dizininde <code>docker-compose.yml<\/code> ad\u0131nda bir dosya olu\u015fturun ve \u015fimdilik temel bir yap\u0131land\u0131rma ile ba\u015flayal\u0131m:<\/p>\n<pre><code class=\"language-yaml\">\n# docker-compose.yml\nversion: '3.8' # Docker Compose dosya format\u0131n\u0131n versiyonu\n\nservices:\n  solana-validator:\n    build: . # Dockerfile'\u0131 kullanarak bu servisin imaj\u0131n\u0131 olu\u015ftur\n    container_name: solana-local-validator # Konteyner i\u00e7in kolay hat\u0131rlanabilir bir isim\n    ports:\n      # Solana RPC portu (dApp'ler buradan ba\u011flan\u0131r)\n      - \"8899:8899\"\n      # Solana Websocket portu (ger\u00e7ek zamanl\u0131 g\u00fcncellemeler i\u00e7in)\n      - \"8900:8900\"\n      # Validator d\u00fc\u011f\u00fcm\u00fcn\u00fcn di\u011fer d\u00fc\u011f\u00fcmlerle ileti\u015fim kurdu\u011fu gossip portlar\u0131\n      # Bu aral\u0131k, validator'\u0131n ihtiya\u00e7 duyabilece\u011fi t\u00fcm portlar\u0131 kapsar.\n      # Ger\u00e7ek kullan\u0131mda daha daralt\u0131labilir veya ihtiya\u00e7 duyulduk\u00e7a art\u0131r\u0131labilir.\n      - \"8000-8020:8000-8020\/udp\"\n    \n    # Konteyner yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flas\u0131n\n    restart: always \n    \n    # Kal\u0131c\u0131 depolama i\u00e7in Docker Volume'lar\u0131 kullan\n    volumes:\n      # solana_validator_data isimli volume, konteyner i\u00e7indeki \/solana-data dizinine ba\u011flan\u0131r.\n      # Bu, validator'\u0131n t\u00fcm blok verilerini, c\u00fczdanlar\u0131 ve di\u011fer durum bilgilerini kal\u0131c\u0131 olarak saklar.\n      - solana_validator_data:\/solana-data\n      # Loglar\u0131 Windows ana bilgisayar\u0131n\u0131zda g\u00f6rmek isterseniz, bu bir bind mount \u00f6rne\u011fidir.\n      # .\/logs dizini, proje k\u00f6k dizininizdeki \"logs\" klas\u00f6r\u00fcne i\u015faret eder.\n      - .\/logs:\/solana-data\/logs \n    \n    # Validator'\u0131 ba\u015flatmak i\u00e7in komut\n    command:\n      - sh\n      - -c\n      - |\n          echo \"Starting Solana Test Validator...\"\n          # solana-test-validator komutunu --log ile log dosyas\u0131na y\u00f6nlendiriyoruz\n          # --bind-address 0.0.0.0, konteyner d\u0131\u015f\u0131ndan eri\u015filebilir olmas\u0131n\u0131 sa\u011flar\n          # --rpc-port 8899 ve --websocket-port 8900 varsay\u0131lan portlard\u0131r\n          # --validator-target-slot de\u011feri, validator'\u0131n ne kadar s\u00fcre\/slot \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirler. 0 sonsuzdur.\n          solana-test-validator \\\n            --bind-address 0.0.0.0 \\\n            --log \/solana-data\/logs\/validator.log \\\n            --validator-target-slot 0 \\\n            --reset # Her ba\u015flang\u0131\u00e7ta s\u0131f\u0131rlamak isterseniz bunu kullan\u0131n, aksi takdirde kald\u0131r\u0131n.\n    \n# Docker Volume'lar\u0131n\u0131 tan\u0131mla\nvolumes:\n  solana_validator_data:\n    name: solana_validator_data # Volume i\u00e7in belirgin bir isim\n\n    <\/pre>\n<p><\/code>\n  <\/p>\n<p>\n    Bu <code>docker-compose.yml<\/code> dosyas\u0131, <code>solana-local-validator<\/code> ad\u0131nda bir konteyner olu\u015fturur. Bu konteyner, daha \u00f6nce olu\u015fturdu\u011fumuz <code>solana_cli_image<\/code> imaj\u0131n\u0131 kullan\u0131r. En \u00f6nemlisi, <code>solana_validator_data<\/code> adl\u0131 bir Docker Volume'u kullanarak Solana validator verilerini kal\u0131c\u0131 hale getirir. Bu sayede, konteyneri durdurup yeniden ba\u015flatt\u0131\u011f\u0131n\u0131zda bile validator'\u0131n\u0131z en son durumdan devam edecektir (e\u011fer <code>reset<\/code> bayra\u011f\u0131n\u0131 kullanmazsan\u0131z). Ayr\u0131ca, <code>logs<\/code> klas\u00f6r\u00fcn\u00fc bind mount ederek, validator'\u0131n loglar\u0131n\u0131 do\u011frudan Windows ana bilgisayar\u0131n\u0131zdaki proje dizininizde takip edebilirsiniz. Bu yap\u0131, size esnek ve kal\u0131c\u0131 bir yerel Solana geli\u015ftirme ortam\u0131 sa\u011flar. Art\u0131k validator'\u0131n\u0131z\u0131 \u00e7al\u0131\u015ft\u0131rmaya haz\u0131rs\u0131n\u0131z!\n  <\/p>\n<h2>Solana Validator D\u00fc\u011f\u00fcm\u00fc Docker Konteynerinde Nas\u0131l \u00c7al\u0131\u015ft\u0131r\u0131l\u0131r?<\/h2>\n<p>\n    \u00d6nceki b\u00f6l\u00fcmde, kal\u0131c\u0131 bir Solana Docker ortam\u0131 i\u00e7in temel dosyalar\u0131 ve yap\u0131land\u0131rmay\u0131 haz\u0131rlam\u0131\u015ft\u0131k. \u015eimdi ise bu yap\u0131land\u0131rmay\u0131 kullanarak yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fcn\u00fc Docker konteynerinde nas\u0131l ba\u015flataca\u011f\u0131m\u0131z\u0131, y\u00f6netece\u011fimizi ve do\u011frulayaca\u011f\u0131m\u0131z\u0131 ad\u0131m ad\u0131m inceleyelim.\n  <\/p>\n<p>\n    <strong>Ad\u0131m 1: Solana Validator'\u0131 Ba\u015flatma.<\/strong><br \/>\n    <code>docker-compose.yml<\/code> dosyan\u0131z\u0131n bulundu\u011fu <code>C:\\SolanaDocker<\/code> dizininde bir komut istemcisi veya PowerShell a\u00e7\u0131n. Validator'\u0131 arka planda (detached mode) ba\u015flatmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">\ndocker-compose up -d\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Bu komutun \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131yla Docker Compose:<\/p>\n<ol>\n<li>E\u011fer <code>solana_cli_image<\/code> imaj\u0131 hen\u00fcz olu\u015fturulmad\u0131ysa (veya <code>docker-compose.yml<\/code> dosyas\u0131nda <code>build: .<\/code> kullan\u0131ld\u0131ysa), <code>Dockerfile<\/code>'\u0131 kullanarak imaj\u0131 olu\u015fturacakt\u0131r.<\/li>\n<li><code>solana_validator_data<\/code> ad\u0131nda bir Docker Volume olu\u015fturacak veya mevcutsa kullanacakt\u0131r.<\/li>\n<li><code>solana-local-validator<\/code> ad\u0131nda bir konteyner ba\u015flatacak ve i\u00e7inde Solana test validator'\u0131n\u0131 \u00e7al\u0131\u015ft\u0131racakt\u0131r.<\/li>\n<li>Belirtti\u011fimiz portlar\u0131 (8899, 8900, 8000-8020\/udp) ana bilgisayar\u0131n\u0131za e\u015fleyecektir.<\/li>\n<\/ol>\n<p>      \u0130lk \u00e7al\u0131\u015ft\u0131rmada, imaj olu\u015fturma ve validator'\u0131n ba\u015flamas\u0131 biraz zaman alabilir. T\u00fcm i\u015flemler tamamland\u0131\u011f\u0131nda, komut istemcisinde herhangi bir hata g\u00f6rmemelisiniz.\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 2: Validator Durumunu Kontrol Etme ve Loglar\u0131 \u0130zleme.<\/strong><br \/>\n    Validator'\u0131n sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in loglar\u0131 kontrol etmek \u00f6nemlidir.<\/p>\n<pre><code class=\"language-bash\">\ndocker logs -f solana-local-validator\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Bu komut, <code>solana-local-validator<\/code> konteynerinin loglar\u0131n\u0131 ger\u00e7ek zamanl\u0131 olarak g\u00f6sterir (<code>-f<\/code> bayra\u011f\u0131, \"follow\" anlam\u0131na gelir). Loglarda, validator'\u0131n ba\u015flad\u0131\u011f\u0131n\u0131, bloklar \u00fcretti\u011fini ve genel durum bilgilerini g\u00f6rmelisiniz. \u00d6zellikle \"starting validator...\" ve \"RPC listening on...\" gibi mesajlar, validator'\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.\n    <\/p>\n<p>\n      Alternatif olarak, loglar\u0131 Windows ana bilgisayar\u0131n\u0131zdaki <code>C:\\SolanaDocker\\logs<\/code> klas\u00f6r\u00fcndeki <code>validator.log<\/code> dosyas\u0131ndan da kontrol edebilirsiniz. Bu, <code>docker-compose.yml<\/code> dosyas\u0131ndaki bind mount sayesinde m\u00fcmk\u00fcnd\u00fcr.\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 3: Solana CLI ile Ba\u011flant\u0131y\u0131 Do\u011frulama.<\/strong><br \/>\n    Validator'\u0131n\u0131z \u00e7al\u0131\u015f\u0131rken, Solana CLI'yi kullanarak ona ba\u011flanabilir ve durumunu kontrol edebilirsiniz. Bunun i\u00e7in, ana bilgisayar\u0131n\u0131zda (Windows) Solana CLI'nin kurulu olmas\u0131na gerek yoktur, \u00e7\u00fcnk\u00fc t\u00fcm etkile\u015fimleri konteyner \u00fczerinden ger\u00e7ekle\u015ftirebiliriz.<\/p>\n<pre><code class=\"language-bash\">\n# Konteyner i\u00e7inde Solana CLI kullanarak RPC URL'ini yerel validator'a ayarla\ndocker exec solana-local-validator solana config set --url http:\/\/solana-validator:8899\n\n# Konteyner i\u00e7inde bakiye kontrol\u00fc yap (varsay\u0131lan test c\u00fczdan\u0131 i\u00e7in)\ndocker exec solana-local-validator solana balance\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      <code>solana config set --url http:\/\/solana-validator:8899<\/code> komutu, konteyner i\u00e7indeki Solana CLI'ya yerel validator'\u0131n RPC adresini bildirir. <code>http:\/\/solana-validator:8899<\/code> yerine <code>http:\/\/localhost:8899<\/code> de kullanabilirsiniz, ancak konteyner i\u00e7inde di\u011fer servislerin bu validator'a ba\u011flanmas\u0131 durumunda servis ad\u0131n\u0131 kullanmak daha iyidir. E\u011fer her \u015fey yolundaysa, <code>solana balance<\/code> komutu bir miktar SOL bakiyesi g\u00f6sterecektir (yerel test validator'\u0131 ba\u015flang\u0131\u00e7ta baz\u0131 hesaplara test SOL'\u00fc atar).\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 4: Validat\u00f6r\u00fc Durdurma ve Kald\u0131rma.<\/strong><br \/>\n    Geli\u015ftirme i\u015finiz bitti\u011finde veya ortam\u0131 s\u0131f\u0131rlamak istedi\u011finizde, validator'\u0131 durdurabilir ve konteyneri kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">\n# Validator'\u0131 durdurma (konteyner durur ama veriler kal\u0131r)\ndocker-compose stop\n\n# Validator'\u0131 tamamen kald\u0131rma (konteyner silinir, veriler kal\u0131r)\ndocker-compose down\n\n# Validator'\u0131 ve onunla ili\u015fkili verileri (volume) tamamen kald\u0131rma (S\u0131f\u0131rdan ba\u015flamak i\u00e7in ideal)\ndocker-compose down -v\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      \u00d6zellikle <code>docker-compose down -v<\/code> komutu, <code>solana_validator_data<\/code> volume'unu da silerek, bir sonraki ba\u015flang\u0131\u00e7ta tertemiz bir validator ortam\u0131 kurman\u0131z\u0131 sa\u011flar. Bu, tekrarlanabilir testler i\u00e7in olduk\u00e7a kullan\u0131\u015fl\u0131d\u0131r.\n    <\/p>\n<\/p>\n<p>\n    <strong>Vaka \u00c7al\u0131\u015fmas\u0131 1: Yeni Token Standard\u0131 Geli\u015ftirme.<\/strong><br \/>\n    Bir ekip, Solana \u00fczerinde yeni bir token standard\u0131 geli\u015ftirmek istiyor. Bu s\u00fcre\u00e7te, tokenin mint edilmesi, transfer edilmesi ve yak\u0131lmas\u0131 gibi temel operasyonlar\u0131 defalarca test etmeleri gerekiyor. Yerel bir Docker tabanl\u0131 Solana validator ortam\u0131 sayesinde:<\/p>\n<ul>\n<li>Geli\u015ftiriciler, her test senaryosunu h\u0131zl\u0131ca da\u011f\u0131tabilir ve validator'\u0131n s\u0131f\u0131r maliyetle an\u0131nda tepki vermesini sa\u011flayabilir.<\/li>\n<li>Her test turundan sonra <code>docker-compose down -v<\/code> komutunu kullanarak ortam\u0131 tamamen s\u0131f\u0131rlayabilir ve tutarl\u0131 bir ba\u015flang\u0131\u00e7 noktas\u0131 elde edebilirler. Bu, \u00f6nceki testlerin kal\u0131nt\u0131lar\u0131n\u0131n sonraki testleri etkilemesini engeller.<\/li>\n<li>Farkl\u0131 ekip \u00fcyeleri, ayn\u0131 <code>Dockerfile<\/code> ve <code>docker-compose.yml<\/code> dosyalar\u0131n\u0131 kullanarak kendi Windows makinelerinde ayn\u0131 ortam\u0131 kurabilir, b\u00f6ylece \"benim makinemde \u00e7al\u0131\u015f\u0131yor\" sorununu ortadan kald\u0131r\u0131r.<\/li>\n<\/ul>\n<p>    Bu senaryoda, kal\u0131c\u0131 Docker ortam\u0131 sayesinde geli\u015ftirme d\u00f6ng\u00fcs\u00fc h\u0131zlan\u0131r, hatalar daha verimli bir \u015fekilde tespit edilir ve ekip i\u00e7i i\u015fbirli\u011fi g\u00fc\u00e7lenir.\n  <\/p>\n<h2>DApp Geli\u015ftirme Ortam\u0131n\u0131 Entegre Etmek ve Ak\u0131ll\u0131 S\u00f6zle\u015fmelerle \u00c7al\u0131\u015fmak<\/h2>\n<p>\n    Yerel Solana validator'\u0131n\u0131z Docker \u00fczerinde sorunsuz bir \u015fekilde \u00e7al\u0131\u015f\u0131rken, \u015fimdi s\u0131ra merkeziyetsiz uygulaman\u0131z (dApp) i\u00e7in geli\u015ftirme ortam\u0131n\u0131 bu yap\u0131ya entegre etmeye geliyor. Bu b\u00f6l\u00fcm, ak\u0131ll\u0131 s\u00f6zle\u015fmelerinizi nas\u0131l derleyip da\u011f\u0131taca\u011f\u0131n\u0131z\u0131 ve dApp istemcinizin yerel validator ile nas\u0131l ileti\u015fim kuraca\u011f\u0131n\u0131 ele alacakt\u0131r.\n  <\/p>\n<p>\n    <strong>Ad\u0131m 1: DApp \u0130stemcisini Yerel Validat\u00f6re Ba\u011flama.<\/strong><br \/>\n    DApp'inizin \u00f6n y\u00fcz\u00fc (frontend) veya ak\u0131ll\u0131 s\u00f6zle\u015fme derleme\/da\u011f\u0131t\u0131m ara\u00e7lar\u0131 (\u00f6rne\u011fin Anchor framework), Solana validator'\u0131n\u0131z\u0131n RPC portuna ba\u011flanmal\u0131d\u0131r. Docker konteyneri i\u00e7inde \u00e7al\u0131\u015fan validator'a, Windows ana bilgisayar\u0131n\u0131zdan <code>http:\/\/localhost:8899<\/code> adresi \u00fczerinden eri\u015febilirsiniz. Bu, web tabanl\u0131 bir dApp \u00f6n y\u00fcz\u00fc i\u00e7in veya terminalinizden <code>solana<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken kullanaca\u011f\u0131n\u0131z adrestir.<\/p>\n<pre><code class=\"language-bash\">\n# Windows terminalinizden Solana CLI'yi yap\u0131land\u0131rma (e\u011fer kuruluysa)\nsolana config set --url http:\/\/localhost:8899\nsolana config get # Do\u011frulama\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      E\u011fer dApp istemciniz de bir Docker konteyneri i\u00e7inde \u00e7al\u0131\u015facaksa (ki bu daha tutarl\u0131 bir yakla\u015f\u0131m olabilir), <code>docker-compose.yml<\/code> dosyas\u0131ndaki servis adlar\u0131 \u00fczerinden ileti\u015fim kurabilirler. \u00d6rne\u011fin, <code>solana-validator<\/code> ad\u0131ndaki servisimize di\u011fer konteynerler <code>http:\/\/solana-validator:8899<\/code> adresinden eri\u015febilir.\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 2: Ak\u0131ll\u0131 S\u00f6zle\u015fme Geli\u015ftirme ve Derleme.<\/strong><br \/>\n    Solana ak\u0131ll\u0131 s\u00f6zle\u015fmeleri genellikle Rust dilinde yaz\u0131l\u0131r ve Anchor framework'\u00fc, geli\u015ftirme s\u00fcrecini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde h\u0131zland\u0131r\u0131r.<\/p>\n<ol>\n<li>\n        <strong>Yeni Bir Ak\u0131ll\u0131 S\u00f6zle\u015fme Projesi Olu\u015fturma:<\/strong> E\u011fer yeni bir proje ba\u015flat\u0131yorsan\u0131z, <code>C:\\SolanaDocker<\/code> dizini i\u00e7inde veya yan\u0131na yeni bir klas\u00f6r olu\u015fturun (\u00f6rn. <code>my-dapp<\/code>).<\/p>\n<pre><code class=\"language-bash\">\nmkdir C:\\SolanaDocker\\my-dapp\ncd C:\\SolanaDocker\\my-dapp\nanchor init my-program # E\u011fer Anchor kuruluysa\n# veya manuel Rust projesi: cargo new --lib program-name\n        <\/pre>\n<p><\/code>\n      <\/li>\n<li>\n        <strong>Ak\u0131ll\u0131 S\u00f6zle\u015fmeyi Derleme:<\/strong> Ak\u0131ll\u0131 s\u00f6zle\u015fmenizi derlemek i\u00e7in, Solana CLI'n\u0131n veya Anchor'\u0131n kurulu oldu\u011fu bir ortama ihtiyac\u0131n\u0131z vard\u0131r. Bunu, daha \u00f6nce olu\u015fturdu\u011fumuz <code>solana_cli_image<\/code> konteyneri i\u00e7inde yapabiliriz.<\/p>\n<pre><code class=\"language-bash\">\n# Konteyner i\u00e7inde derleme (my-dapp klas\u00f6r\u00fcn\u00fcz\u00fc konteynere bind mount ederek)\n# \u0130lk olarak my-dapp klas\u00f6r\u00fcn\u00fc ana docker-compose.yml dizinine ta\u015f\u0131y\u0131n\n# Sonra docker-compose.yml dosyan\u0131z\u0131 g\u00fcncelleyin veya ge\u00e7ici olarak bir konteyner \u00e7al\u0131\u015ft\u0131r\u0131n:\ndocker run --rm -it -v C:\/SolanaDocker\/my-dapp:\/app solana_cli_image bash -c \"cd \/app && cargo build-bpf\"\n# Veya Anchor kullan\u0131yorsan\u0131z:\ndocker run --rm -it -v C:\/SolanaDocker\/my-dapp:\/app solana_cli_image bash -c \"cd \/app && anchor build\"\n        <\/pre>\n<p><\/code><\/p>\n<p>\n          Bu komutlar, ak\u0131ll\u0131 s\u00f6zle\u015fmenizi derleyerek <code>target\/deploy<\/code> dizinine <code>.so<\/code> uzant\u0131l\u0131 bir dosya yerle\u015ftirecektir.\n        <\/p>\n<\/li>\n<\/ol>\n<p>\n    <strong>Ad\u0131m 3: Ak\u0131ll\u0131 S\u00f6zle\u015fmeyi Yerel Validat\u00f6re Da\u011f\u0131tma.<\/strong><br \/>\n    Derlenmi\u015f ak\u0131ll\u0131 s\u00f6zle\u015fmenizi yerel validator'\u0131n\u0131za da\u011f\u0131tabilirsiniz. Bu i\u015flem de yine Solana CLI arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">\n# Ak\u0131ll\u0131 s\u00f6zle\u015fmeyi da\u011f\u0131tma (my-dapp klas\u00f6r\u00fcn\u00fcz\u00fc konteynere bind mount ettiyseniz)\ndocker run --rm -it -v C:\/SolanaDocker\/my-dapp:\/app solana_cli_image bash -c \"solana program deploy \/app\/target\/deploy\/my_program.so --url http:\/\/solana-validator:8899\"\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Burada, konteyner i\u00e7inde <code>solana program deploy<\/code> komutu ile ak\u0131ll\u0131 s\u00f6zle\u015fmenizi yerel validator'\u0131n\u0131za y\u00fckl\u00fcyoruz. <code>--url<\/code> bayra\u011f\u0131, hangi validator'a da\u011f\u0131t\u0131m yap\u0131laca\u011f\u0131n\u0131 belirtir. Da\u011f\u0131t\u0131m ba\u015far\u0131l\u0131 olursa, konsolda program\u0131n\u0131z\u0131n yeni Program ID'sini g\u00f6receksiniz.\n    <\/p>\n<\/p>\n<p>\n    <strong>Ad\u0131m 4: Entegre DApp Geli\u015ftirici Konteyneri (\u0130ste\u011fe Ba\u011fl\u0131 ama \u00d6nerilir).<\/strong><br \/>\n    DApp istemcinizi de bir Docker konteyneri i\u00e7inde \u00e7al\u0131\u015ft\u0131rmak, daha tutarl\u0131 ve ta\u015f\u0131nabilir bir geli\u015ftirme ortam\u0131 sa\u011flar. <code>docker-compose.yml<\/code> dosyan\u0131za ek bir servis ekleyerek bunu yapabilirsiniz:<\/p>\n<pre><code class=\"language-yaml\">\n# ... \u00f6nceki solana-validator servisi ...\n  \n  dapp-client:\n    build:\n      context: .\/dapp-client # dApp istemcinizin Dockerfile'\u0131n\u0131n bulundu\u011fu klas\u00f6r\n      dockerfile: Dockerfile_DApp # \u0130stemci i\u00e7in \u00f6zel Dockerfile ad\u0131 (iste\u011fe ba\u011fl\u0131)\n    container_name: solana-dapp-client\n    ports:\n      - \"3000:3000\" # \u00d6rnek React\/Next.js uygulamas\u0131 i\u00e7in port\n    volumes:\n      - .\/my-dapp:\/app # dApp kodunuzu konteynere ba\u011flay\u0131n\n    environment:\n      # dApp'in konteyner i\u00e7indeki validator'a ba\u011flanmas\u0131 i\u00e7in ortam de\u011fi\u015fkeni\n      - REACT_APP_SOLANA_RPC_URL=http:\/\/solana-validator:8899 \n    depends_on:\n      - solana-validator # Validator'\u0131n istemciden \u00f6nce ba\u015flamas\u0131n\u0131 sa\u011flar\n    command: npm start # \u0130stemci uygulamas\u0131n\u0131 ba\u015flatma komutu (\u00f6rne\u011fin bir React uygulamas\u0131)\n\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Bu <code>dapp-client<\/code> servisi, kendi <code>Dockerfile<\/code>'\u0131 (genellikle Node.js veya ba\u015fka bir dil i\u00e7in) ile olu\u015fturulur ve <code>my-dapp<\/code> klas\u00f6r\u00fcn\u00fcz\u00fc bir bind mount olarak i\u00e7erir. <code>environment<\/code> de\u011fi\u015fkeni sayesinde, dApp'iniz <code>solana-validator<\/code> servis ad\u0131n\u0131 kullanarak yerel validator'a kolayca ba\u011flanabilir. <code>depends_on<\/code> ifadesi, <code>dapp-client<\/code> servisi ba\u015flamadan \u00f6nce <code>solana-validator<\/code> servisinin \u00e7al\u0131\u015f\u0131r durumda olmas\u0131n\u0131 garantiler.\n    <\/p>\n<\/p>\n<p>\n    <strong>Vaka \u00c7al\u0131\u015fmas\u0131 2: Oyun \u0130\u00e7i NFT ve Mikro \u0130\u015flemler Testi.<\/strong><br \/>\n    Bir oyun geli\u015ftiricisi, Solana \u00fczerinde oyun i\u00e7i NFT'ler (karakter e\u015fyalar\u0131, kozmetikler) ve mikro i\u015flem mekani\u011fi (oyun i\u00e7i para birimi transferleri) geli\u015ftirmektedir. Bu s\u00fcre\u00e7te, ak\u0131ll\u0131 s\u00f6zle\u015fmelerinin g\u00fcvenilirli\u011fini ve performans\u0131n\u0131 ana a\u011fa da\u011f\u0131tmadan \u00f6nce kapsaml\u0131 bir \u015fekilde test etmek isterler. Entegre Docker ortam\u0131 sayesinde:<\/p>\n<ul>\n<li>Geli\u015ftirici, oyun istemcisini bir Docker konteynerinde, ak\u0131ll\u0131 s\u00f6zle\u015fmeleri ve yerel validator'\u0131 da di\u011fer konteynerlerde \u00e7al\u0131\u015ft\u0131rabilir.<\/li>\n<li>Her bir NFT basma, transfer veya yakma i\u015flemini defalarca sim\u00fcle edebilir, farkl\u0131 senaryolar\u0131 (\u00f6rne\u011fin, bir kullan\u0131c\u0131n\u0131n bakiyesi yetersiz oldu\u011funda ne olaca\u011f\u0131) g\u00fcvenle test edebilir.<\/li>\n<li>Yeni ak\u0131ll\u0131 s\u00f6zle\u015fme versiyonlar\u0131n\u0131 yerel validator \u00fczerinde da\u011f\u0131tt\u0131k\u00e7a, oyun istemcisinin bu g\u00fcncellemelerle nas\u0131l etkile\u015fime girdi\u011fini ger\u00e7ek zamanl\u0131 olarak g\u00f6zlemleyebilir.<\/li>\n<li>Geli\u015ftirme s\u00fcrecinin her a\u015famas\u0131nda tutarl\u0131 ve izole bir ortam sa\u011flayarak, d\u0131\u015f fakt\u00f6rlerin (a\u011f gecikmeleri, ana a\u011fdaki de\u011fi\u015fiklikler) test sonu\u00e7lar\u0131n\u0131 etkilemesini \u00f6nleyebilir.<\/li>\n<\/ul>\n<p>    Bu entegrasyon, karma\u015f\u0131k dApp'lerin geli\u015ftirilmesini kolayla\u015ft\u0131r\u0131r, test s\u00fcre\u00e7lerini h\u0131zland\u0131r\u0131r ve hatalar\u0131n \u00fcretim ortam\u0131na ula\u015fmadan \u00f6nce tespit edilmesine olanak tan\u0131r.\n  <\/p>\n<h2>Performans \u0130pu\u00e7lar\u0131, \u0130leri D\u00fczey Konfig\u00fcrasyonlar ve En \u0130yi Uygulamalar<\/h2>\n<p>\n    Windows \u00fczerinde WSL olmadan kal\u0131c\u0131 bir Solana Docker ortam\u0131 kurmak, geli\u015ftirme s\u00fcre\u00e7lerinizi \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131rabilir. Ancak, bu ortamdan en iyi performans\u0131 almak ve daha karma\u015f\u0131k senaryolar i\u00e7in uygun \u015fekilde yap\u0131land\u0131rmak i\u00e7in baz\u0131 ileri d\u00fczey ipu\u00e7lar\u0131 ve en iyi uygulamalar\u0131 bilmek faydal\u0131d\u0131r.\n  <\/p>\n<p>\n    <strong>1. Docker Desktop Kaynak Optimizasyonu:<\/strong><br \/>\n    Docker Desktop, Windows \u00fczerinde bir sanal makine (Hyper-V veya WSL 2 backend) \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131 i\u00e7in, bu sanal makineye ayr\u0131lan kaynaklar do\u011frudan Solana validator'\u0131n\u0131z\u0131n performans\u0131n\u0131 etkiler.<\/p>\n<ul>\n<li>\n        <strong>CPU ve RAM:<\/strong> Docker Desktop ayarlar\u0131n\u0131zdan (sistem tepsisindeki balina simgesi -> Settings -> Resources) sanal makineye daha fazla CPU \u00e7ekirde\u011fi ve RAM ay\u0131r\u0131n. Solana validator'\u0131 \u00f6zellikle yo\u011fun disk I\/O ve i\u015flem g\u00fcc\u00fc gerektiren bir uygulamad\u0131r. En az 4 CPU \u00e7ekirde\u011fi ve 8-16 GB RAM ay\u0131rman\u0131z, ak\u0131c\u0131 bir geli\u015ftirme deneyimi i\u00e7in kritik \u00f6neme sahiptir.\n      <\/li>\n<li>\n        <strong>Disk Alan\u0131:<\/strong> Docker imajlar\u0131 ve volume'lar\u0131, ana bilgisayar\u0131n\u0131zdaki bir sanal disk dosyas\u0131nda saklan\u0131r. Bu dosyan\u0131n (genellikle <code>vhdx<\/code> uzant\u0131l\u0131) h\u0131zl\u0131 bir SSD s\u00fcr\u00fcc\u00fcs\u00fcnde bulundu\u011fundan emin olun. HDD \u00fczerindeki bir Docker diski, Solana validator'\u0131n performans\u0131n\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde d\u00fc\u015f\u00fcrecektir. Disk imaj\u0131n\u0131n boyutunu da ihtiyac\u0131n\u0131za g\u00f6re ayarlayabilirsiniz.\n      <\/li>\n<li>\n        <strong>Gereksiz Konteynerleri Kapat\u0131n:<\/strong> Kullanmad\u0131\u011f\u0131n\u0131z Docker konteynerlerini durdurmak veya kald\u0131rmak, sistem kaynaklar\u0131n\u0131 serbest b\u0131rakarak \u00e7al\u0131\u015fan uygulamalar\u0131n\u0131z\u0131n daha iyi performans g\u00f6stermesini sa\u011flar.\n      <\/li>\n<\/ul>\n<p>\n    <strong>2. Volume T\u00fcrleri ve Kullan\u0131m Senaryolar\u0131:<\/strong><br \/>\n    Docker'da veri kal\u0131c\u0131l\u0131\u011f\u0131 i\u00e7in iki ana volume t\u00fcr\u00fc vard\u0131r:<\/p>\n<ul>\n<li>\n        <strong>Named Volumes (Adland\u0131r\u0131lm\u0131\u015f Volume'lar):<\/strong> <code>solana_validator_data<\/code> \u00f6rne\u011fimizde oldu\u011fu gibi Docker taraf\u0131ndan y\u00f6netilen volume'lard\u0131r. Genellikle daha iyi performans ve veri g\u00fcvenli\u011fi sunarlar \u00e7\u00fcnk\u00fc Docker, volume'un disk \u00fczerindeki konumunu ve eri\u015fimini optimize edebilir. \u00d6zellikle Solana validator'\u0131n\u0131n blok verileri gibi kritik ve s\u0131k\u00e7a g\u00fcncellenen veriler i\u00e7in named volume'lar tercih edilmelidir.\n      <\/li>\n<li>\n        <strong>Bind Mounts (Ba\u011flama Noktalar\u0131):<\/strong> Ana bilgisayar\u0131n\u0131zdaki belirli bir dizini do\u011frudan konteyner i\u00e7indeki bir dizine ba\u011flarlar. <code>logs<\/code> klas\u00f6r\u00fcm\u00fcz\u00fc bu \u015fekilde ba\u011flam\u0131\u015ft\u0131k. Geli\u015ftirme s\u0131ras\u0131nda kod dosyalar\u0131, konfig\u00fcrasyon dosyalar\u0131 veya loglar gibi, ana bilgisayar\u0131n\u0131zdan do\u011frudan eri\u015fmek ve d\u00fczenlemek istedi\u011finiz veriler i\u00e7in idealdir. Performans a\u00e7\u0131s\u0131ndan named volume'lara g\u00f6re biraz daha yava\u015f olabilirler, ancak geli\u015ftirme esnekli\u011fi sunarlar.\n      <\/li>\n<\/ul>\n<p class=\"expert-tip\">\n      Uzman \u0130pucu: Solana validator'\u0131n disk I\/O performans\u0131 kritiktir. Docker Desktop ayarlar\u0131n\u0131zda sanal diskinizin (Disk Image Location) h\u0131zl\u0131 bir SSD \u00fczerinde konumland\u0131\u011f\u0131ndan emin olun ve m\u00fcmk\u00fcnse Named Volumes kullan\u0131n. Bu, veritaban\u0131 i\u015flemlerinde g\u00f6zle g\u00f6r\u00fcl\u00fcr bir h\u0131z art\u0131\u015f\u0131 sa\u011flar ve validator'\u0131n daha kararl\u0131 \u00e7al\u0131\u015fmas\u0131na yard\u0131mc\u0131 olur.\n    <\/p>\n<\/p>\n<p>\n    <strong>3. A\u011f Yap\u0131land\u0131rmas\u0131:<\/strong><br \/>\n    <code>docker-compose.yml<\/code> dosyan\u0131zda \u00f6zel a\u011flar tan\u0131mlamak, karma\u015f\u0131k dApp yap\u0131land\u0131rmalar\u0131nda konteynerler aras\u0131 ileti\u015fimi daha g\u00fcvenli ve d\u00fczenli hale getirebilir.<\/p>\n<pre><code class=\"language-yaml\">\nversion: '3.8'\nservices:\n  solana-validator:\n    # ...\n    networks:\n      - solana_dev_network\n\n  dapp-client:\n    # ...\n    networks:\n      - solana_dev_network\n\nnetworks:\n  solana_dev_network:\n    driver: bridge # Varsay\u0131lan k\u00f6pr\u00fc a\u011f\u0131\n    <\/pre>\n<p><\/code><\/p>\n<p>\n      Bu, <code>solana_dev_network<\/code> ad\u0131nda \u00f6zel bir a\u011f olu\u015fturur ve <code>solana-validator<\/code> ile <code>dapp-client<\/code> hizmetlerinin bu a\u011f i\u00e7inde birbirleriyle isimleriyle ileti\u015fim kurmas\u0131n\u0131 sa\u011flar.\n    <\/p>\n<\/p>\n<p>\n    <strong>4. G\u00fcnl\u00fck Y\u00f6netimi ve G\u00f6zlemleme:<\/strong><\/p>\n<p>\n      <code>docker logs -f [konteyner_ad\u0131]<\/code> komutu, ger\u00e7ek zamanl\u0131 log takibi i\u00e7in vazge\u00e7ilmezdir. Ayr\u0131ca, loglar\u0131 <code>solana-data\/logs\/validator.log<\/code> gibi kal\u0131c\u0131 bir volume i\u00e7indeki bir dosyaya y\u00f6nlendirerek, konteyner yeniden ba\u015flat\u0131lsa bile log ge\u00e7mi\u015finizi koruyabilirsiniz. Bu, sorun giderme ve validator'\u0131n davran\u0131\u015f\u0131n\u0131 anlama a\u00e7\u0131s\u0131ndan \u00e7ok de\u011ferlidir.\n    <\/p>\n<\/p>\n<p>\n    <strong>5. Otomasyon ve Geli\u015ftirme \u0130\u015f Ak\u0131\u015f\u0131:<\/strong><\/p>\n<p>\n      Tekrarlayan Docker komutlar\u0131n\u0131 (\u00f6rne\u011fin, <code>docker-compose up -d<\/code>, <code>docker-compose down -v<\/code>, ak\u0131ll\u0131 s\u00f6zle\u015fme da\u011f\u0131t\u0131m\u0131) otomatikle\u015ftirmek i\u00e7in basit <code>.bat<\/code> veya PowerShell scriptleri yazabilirsiniz. Bu scriptler, geli\u015ftirme ortam\u0131n\u0131z\u0131 tek bir komutla ba\u015flatman\u0131z\u0131 veya s\u0131f\u0131rlaman\u0131z\u0131 sa\u011flar, geli\u015ftirme d\u00f6ng\u00fcs\u00fcn\u00fc daha da h\u0131zland\u0131r\u0131r.\n    <\/p>\n<\/p>\n<p>\n    <strong>6. Mobil Uyumlu HTML i\u00e7in En \u0130yi Uygulamalar (DApp Geli\u015ftiricileri \u0130\u00e7in):<\/strong><\/p>\n<p>\n      Makalemiz bir Docker kurulumu \u00fczerine olsa da, geli\u015ftirdi\u011finiz Solana dApp'lerinin kullan\u0131c\u0131 aray\u00fczlerinin (UI) mobil cihazlarda da iyi g\u00f6r\u00fcnmesi ve i\u015flev g\u00f6rmesi \u00f6nemlidir. Kullan\u0131c\u0131lar\u0131n\u0131z\u0131n b\u00fcy\u00fck bir k\u0131sm\u0131 dApp'lerinize mobil cihazlardan eri\u015febilir. Bu nedenle, geli\u015ftirdi\u011finiz web tabanl\u0131 dApp'lerde responsive (duyarl\u0131) tasar\u0131m prensiplerini uygulamak kritik \u00f6nem ta\u015f\u0131r.\n    <\/p>\n<ul>\n<li>\n        <strong>Viewport Meta Tag:<\/strong> Her HTML sayfan\u0131z\u0131n <code><head><\/code> b\u00f6l\u00fcm\u00fcne a\u015fa\u011f\u0131daki meta etiketini ekleyin:<\/p>\n<pre><code class=\"language-html\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n        <\/pre>\n<p><\/code><br \/>\n        Bu, taray\u0131c\u0131ya sayfan\u0131n cihaz\u0131n geni\u015fli\u011fine g\u00f6re \u00f6l\u00e7eklenmesini s\u00f6yler.\n      <\/li>\n<li>\n        <strong>CSS Media Queries:<\/strong> Farkl\u0131 ekran boyutlar\u0131 i\u00e7in farkl\u0131 stiller tan\u0131mlamak i\u00e7in CSS media query'lerini kullan\u0131n. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-css\">\n<style>\n  \/* Genel stiller (masa\u00fcst\u00fc i\u00e7in) *\/\n  .container {\n    width: 960px;\n    margin: 0 auto;\n    padding: 20px;\n  }\n\n  \/* 768px ve alt\u0131ndaki ekranlar i\u00e7in (tabletler ve mobil cihazlar) *\/\n  @media (max-width: 768px) {\n    .container {\n      width: 100%;\n      padding: 15px;\n    }\n    .navigation {\n      flex-direction: column;\n      align-items: center;\n    }\n    \/* Di\u011fer mobil spesifik stil ayarlamalar\u0131 *\/\n  }\n\n  \/* 480px ve alt\u0131ndaki ekranlar i\u00e7in (k\u00fc\u00e7\u00fck mobil cihazlar) *\/\n  @media (max-width: 480px) {\n    .container {\n      padding: 10px;\n    }\n    .button {\n      width: 100%;\n      margin-bottom: 10px;\n    }\n  }\n<\/style>\n        <\/pre>\n<p><\/code><\/p>\n<p>\n          Bu \u00f6rnek, konteyner geni\u015fli\u011fini ve dolguyu farkl\u0131 ekran boyutlar\u0131na g\u00f6re ayarlayarak dApp'inizin farkl\u0131 cihazlarda daha okunabilir ve kullan\u0131labilir olmas\u0131n\u0131 sa\u011flar.\n        <\/p>\n<\/li>\n<li>\n        <strong>Esnek Birimler ve G\u00f6r\u00fcnt\u00fcler:<\/strong> <code>px<\/code> yerine <code>%<\/code>, <code>em<\/code>, <code>rem<\/code>, <code>vw<\/code>, <code>vh<\/code> gibi esnek birimler kullan\u0131n. G\u00f6r\u00fcnt\u00fclerin de <code>max-width: 100%; height: auto;<\/code> stiliyle responsive oldu\u011fundan emin olun.\n      <\/li>\n<\/ul>\n<p>    Bu en iyi uygulamalar\u0131 takip ederek, hem Solana geli\u015ftirme ortam\u0131n\u0131z\u0131n performans\u0131n\u0131 optimize edebilir hem de dApp'lerinizin geni\u015f bir kullan\u0131c\u0131 kitlesine ula\u015fmas\u0131n\u0131 sa\u011flayabilirsiniz.\n  <\/p>\n<h2>Sonu\u00e7: Windows'ta Kal\u0131c\u0131 Solana Geli\u015ftirmenin Avantajlar\u0131 ve Gelecek<\/h2>\n<p>\n    Bu kapsaml\u0131 makale boyunca, Windows i\u015fletim sisteminde, WSL (Windows Alt Sistemi Linux) ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 olmaks\u0131z\u0131n, Docker Desktop kullanarak nas\u0131l kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 kuraca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m inceledik. Ba\u015flang\u0131\u00e7ta Docker Desktop'\u0131n kurulumundan, Solana CLI i\u00e7eren \u00f6zel bir Docker imaj\u0131n\u0131n olu\u015fturulmas\u0131na, yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fcn\u00fcn kal\u0131c\u0131 veri depolama ile nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131na ve son olarak dApp'lerinizin bu ortama nas\u0131l entegre edilece\u011fine kadar t\u00fcm s\u00fcreci detayland\u0131rd\u0131k. Performans ipu\u00e7lar\u0131, ileri d\u00fczey yap\u0131land\u0131rmalar ve dApp'leriniz i\u00e7in mobil uyumlu tasar\u0131m yakla\u015f\u0131mlar\u0131 gibi konulara da de\u011finerek, geli\u015ftirme deneyiminizi optimize etmenize yard\u0131mc\u0131 olacak de\u011ferli bilgiler sunduk.\n  <\/p>\n<p>\n    Kurdu\u011fumuz bu ortam\u0131n sundu\u011fu en \u00f6nemli avantajlar \u015funlard\u0131r:<\/p>\n<ul>\n<li>\n        <strong>\u0130zolasyon ve Tutarl\u0131l\u0131k:<\/strong> Docker konteynerleri, Solana validator'\u0131n\u0131z\u0131 ve dApp'inizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 sisteminizdeki di\u011fer yaz\u0131l\u0131mlardan izole eder. Bu, \"benim makinemde \u00e7al\u0131\u015f\u0131yor\" sorununu ortadan kald\u0131r\u0131r ve ekibinizdeki herkesin ayn\u0131, tutarl\u0131 geli\u015ftirme ortam\u0131nda \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.\n      <\/li>\n<li>\n        <strong>Kal\u0131c\u0131l\u0131k:<\/strong> Docker Volume'lar\u0131 sayesinde, yerel validator'\u0131n\u0131z\u0131n blok verileri, hesap bilgileri ve di\u011fer kritik durumlar\u0131, konteynerler durdurulsa veya yeniden ba\u015flat\u0131lsa bile g\u00fcvende kal\u0131r. Bu, her ba\u015flang\u0131\u00e7ta s\u0131f\u0131rdan ba\u015flamak zorunda kalma y\u00fck\u00fcn\u00fc ortadan kald\u0131r\u0131r.\n      <\/li>\n<li>\n        <strong>Kolay Kurulum ve Y\u00f6netim:<\/strong> <code>docker-compose.yml<\/code> dosyas\u0131, t\u00fcm Solana geli\u015ftirme ortam\u0131n\u0131z\u0131 tek bir dosya i\u00e7inde tan\u0131mlaman\u0131za olanak tan\u0131r. Tek bir komutla (<code>docker-compose up -d<\/code>) t\u00fcm ortam\u0131 ba\u015flatabilir, durdurabilir veya s\u0131f\u0131rlayabilirsiniz.\n      <\/li>\n<li>\n        <strong>Esneklik ve Ta\u015f\u0131nabilirlik:<\/strong> Docker imajlar\u0131 ve Compose dosyalar\u0131, geli\u015ftirme ortam\u0131n\u0131z\u0131 farkl\u0131 Windows makineleri aras\u0131nda kolayca ta\u015f\u0131man\u0131z\u0131 ve payla\u015fman\u0131z\u0131 sa\u011flar. Yeni bir geli\u015ftirici ekibe kat\u0131ld\u0131\u011f\u0131nda, ortam\u0131 kurmas\u0131 sadece birka\u00e7 komutla m\u00fcmk\u00fcn olur.\n      <\/li>\n<li>\n        <strong>WSL Ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131:<\/strong> \u00d6zellikle Hyper-V'ye al\u0131\u015fk\u0131n olan veya \u00e7e\u015fitli nedenlerle WSL kullanmak istemeyen Windows kullan\u0131c\u0131lar\u0131 i\u00e7in temiz ve do\u011frudan bir \u00e7\u00f6z\u00fcm sunulmu\u015ftur.\n      <\/li>\n<\/ul>\n<p>\n    Solana ekosistemi h\u0131zla b\u00fcy\u00fcmeye devam ederken, yerel ve sa\u011flam bir geli\u015ftirme ortam\u0131na sahip olmak, projelerinizi h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde hayata ge\u00e7irmek i\u00e7in temel bir gerekliliktir. Bu k\u0131lavuzla edindi\u011finiz bilgiler ve olu\u015fturdu\u011funuz altyap\u0131, sizi Solana \u00fczerinde yenilik\u00e7i ve g\u00fc\u00e7l\u00fc merkeziyetsiz uygulamalar geli\u015ftirmeye bir ad\u0131m daha yakla\u015ft\u0131racakt\u0131r. Gelecekte, Solana'n\u0131n s\u00fcrekli geli\u015fen ara\u00e7lar\u0131 ve altyap\u0131s\u0131yla birlikte bu Docker tabanl\u0131 ortamlar, geli\u015ftiriciler i\u00e7in vazge\u00e7ilmez bir ara\u00e7 olmaya devam edecektir. \u015eimdiden ba\u015far\u0131lar dileriz!\n  <\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular<\/h3>\n<dl>\n<dt><strong>1. Neden bu kurulumda WSL kullanm\u0131yoruz?<\/strong><\/dt>\n<dd>\n      Baz\u0131 kullan\u0131c\u0131lar, Hyper-V tabanl\u0131 sanalla\u015ft\u0131rmay\u0131 tercih edebilir, mevcut WSL kurulumlar\u0131 ile \u00e7ak\u0131\u015fma ya\u015famak istemeyebilir veya sadece tamamen Windows tabanl\u0131, WSL'den ba\u011f\u0131ms\u0131z bir \u00e7\u00f6z\u00fcm ar\u0131yor olabilir. Docker Desktop'\u0131n Hyper-V backend'i de olduk\u00e7a kararl\u0131 ve g\u00fc\u00e7l\u00fc bir alternatif sunar. Bu makale, bu \u00f6zel kullan\u0131c\u0131 senaryosuna odaklanmaktad\u0131r.\n    <\/dd>\n<dt><strong>2. Solana validator verileri nereye kaydediliyor ve kal\u0131c\u0131 m\u0131?<\/strong><\/dt>\n<dd>\n      Evet, veriler kal\u0131c\u0131 olarak kaydedilir. <code>docker-compose.yml<\/code> dosyas\u0131nda tan\u0131mlad\u0131\u011f\u0131m\u0131z <code>solana_validator_data<\/code> ad\u0131ndaki Docker Volume'una kaydedilir. Bu volume, Docker Desktop taraf\u0131ndan y\u00f6netilen sanal disk \u00fczerinde bulunur ve konteyner silinse bile validator'\u0131n blok verileri, i\u015flem ge\u00e7mi\u015fi ve c\u00fczdan bilgileri gibi verileri kal\u0131c\u0131 olarak saklar.\n    <\/dd>\n<dt><strong>3. Performans sorunlar\u0131 ya\u015farsam ne yapmal\u0131y\u0131m?<\/strong><\/dt>\n<dd>\n      Docker Desktop ayarlar\u0131na giderek sanal makineye (Hyper-V VM) ayr\u0131lan CPU \u00e7ekirde\u011fi ve RAM miktar\u0131n\u0131 art\u0131rabilirsiniz. Ayr\u0131ca, validator'\u0131n loglar\u0131n\u0131 ve veri dizinlerini m\u00fcmk\u00fcn oldu\u011funca h\u0131zl\u0131 bir SSD \u00fczerinde bar\u0131nd\u0131rmak performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r. <code>docker-compose.yml<\/code> dosyas\u0131ndaki <code>command<\/code> b\u00f6l\u00fcm\u00fcne <code>--no-bpf-jit<\/code> gibi performans art\u0131r\u0131c\u0131 bayraklar eklemek de bazen yard\u0131mc\u0131 olabilir.\n    <\/dd>\n<dt><strong>4. Farkl\u0131 Solana a\u011flar\u0131na (devnet, testnet) nas\u0131l ba\u011flanabilirim?<\/strong><\/dt>\n<dd>\n      Yerel validator'\u0131 \u00e7al\u0131\u015ft\u0131r\u0131rken <code>solana-test-validator<\/code> yerine, konteyner i\u00e7inde veya host makinenizden direkt olarak farkl\u0131 a\u011flara ba\u011flanabilirsiniz. \u00d6rne\u011fin:<\/p>\n<pre><code class=\"language-bash\">\n# Konteyner i\u00e7inden devnet'e ba\u011flanmak i\u00e7in\ndocker exec solana-local-validator solana config set --url https:\/\/api.devnet.solana.com\n\n# Windows hostunuzdan devnet'e ba\u011flanmak i\u00e7in (Solana CLI kuruluysa)\nsolana config set --url https:\/\/api.devnet.solana.com\n      <\/pre>\n<p><\/code><br \/>\n      Geli\u015ftirme i\u00e7in genellikle yerel validator tercih edilir, ancak testnet\/devnet ba\u011flant\u0131s\u0131 gerekti\u011finde bu y\u00f6ntem kullan\u0131labilir.\n    <\/dd>\n<dt><strong>5. Ak\u0131ll\u0131 s\u00f6zle\u015fmelerimi g\u00fcncelledi\u011fimde ne yapmam gerekiyor?<\/strong><\/dt>\n<dd>\n      Ak\u0131ll\u0131 s\u00f6zle\u015fmenizi her g\u00fcncelledi\u011finizde ve tekrar derledi\u011finizde (<code>cargo build-bpf<\/code> veya <code>anchor build<\/code>), derlenmi\u015f <code>.so<\/code> dosyas\u0131n\u0131 yerel validator \u00fczerinde yeniden da\u011f\u0131tman\u0131z gerekir. Bunun i\u00e7in <code>solana program deploy target\/deploy\/my_program.so --url http:\/\/localhost:8899<\/code> komutunu kullanabilirsiniz (host'tan veya konteyner i\u00e7inden RPC URL'ini do\u011fru belirterek). <code>solana-test-validator<\/code> \u00e7al\u0131\u015f\u0131rken bu i\u015flem otomatik olarak yeni program ID'sini kullan\u0131r veya mevcut program\u0131 g\u00fcnceller.\n    <\/dd>\n<\/dl>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana&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-31551","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>Solana Docker Ortam\u0131: Windows&#039;ta WSL Olmadan Kal\u0131c\u0131 Kurulum<\/title>\n<meta name=\"description\" content=\"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL&#039;nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.\" \/>\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\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Solana Docker Ortam\u0131: Windows&#039;ta WSL Olmadan Kal\u0131c\u0131 Kurulum\" \/>\n<meta property=\"og:description\" content=\"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL&#039;nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-11T03:31:52+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=\"31 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Solana Docker Ortam\u0131: Windows&#8217;ta WSL Olmadan Kal\u0131c\u0131 Kurulum\",\"datePublished\":\"2025-10-11T03:31:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\"},\"wordCount\":5290,\"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\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\",\"name\":\"Solana Docker Ortam\u0131: Windows'ta WSL Olmadan Kal\u0131c\u0131 Kurulum\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-11T03:31:52+00:00\",\"description\":\"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL'nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Solana Docker Ortam\u0131: Windows&#8217;ta WSL Olmadan Kal\u0131c\u0131 Kurulum\"}]},{\"@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":"Solana Docker Ortam\u0131: Windows'ta WSL Olmadan Kal\u0131c\u0131 Kurulum","description":"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL'nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.","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\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/","og_locale":"tr_TR","og_type":"article","og_title":"Solana Docker Ortam\u0131: Windows'ta WSL Olmadan Kal\u0131c\u0131 Kurulum","og_description":"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL'nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-11T03:31:52+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"31 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Solana Docker Ortam\u0131: Windows&#8217;ta WSL Olmadan Kal\u0131c\u0131 Kurulum","datePublished":"2025-10-11T03:31:52+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/"},"wordCount":5290,"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\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/","url":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/","name":"Solana Docker Ortam\u0131: Windows'ta WSL Olmadan Kal\u0131c\u0131 Kurulum","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-11T03:31:52+00:00","description":"Windows i\u015fletim sisteminde Solana tabanl\u0131 merkeziyetsiz uygulamalar (dApp) geli\u015ftirmek, bazen beklenenden daha karma\u015f\u0131k olabilir. \u00d6zellikle yerel bir Solana validator d\u00fc\u011f\u00fcm\u00fc kurmak ve bunu kal\u0131c\u0131 bir hale getirmek, geli\u015ftiriciler i\u00e7in s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan bir meydan okumad\u0131r. Ba\u011f\u0131ml\u0131l\u0131k y\u00f6netimi, farkl\u0131 projeler i\u00e7in izole ortamlar sa\u011flama ve en \u00f6nemlisi, her bilgisayar yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda t\u00fcm ilerlemenin kaybolmamas\u0131n\u0131 sa\u011flamak, bu s\u00fcrecin kritik ad\u0131mlar\u0131d\u0131r. \u0130\u015fte tam da bu noktada, Windows Alt Sistemi Linux (WSL) kullanmadan, do\u011frudan Docker Desktop arac\u0131l\u0131\u011f\u0131yla kal\u0131c\u0131 bir Solana geli\u015ftirme ortam\u0131 olu\u015fturmak, pek \u00e7ok geli\u015ftirici i\u00e7in hayat kurtar\u0131c\u0131 bir \u00e7\u00f6z\u00fcm sunar. Bu makale, size bu s\u00fcreci ad\u0131m ad\u0131m a\u00e7\u0131klayarak, tutarl\u0131, g\u00fcvenilir ve kolayca y\u00f6netilebilir bir Solana geli\u015ftirme ekosistemi kurman\u0131z i\u00e7in gerekli t\u00fcm bilgileri sa\u011flayacakt\u0131r. Amac\u0131m\u0131z, WSL'nin getirdi\u011fi olas\u0131 \u00e7ak\u0131\u015fmalardan veya ek katmanlardan ka\u00e7\u0131narak, Windows \u00fczerinde saf bir Docker deneyimi ile Solana d\u00fcnyas\u0131na sorunsuz bir giri\u015f yapman\u0131z\u0131 sa\u011flamakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/solana-docker-ortami-windowsta-wsl-olmadan-kalici-kurulum\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Solana Docker Ortam\u0131: Windows&#8217;ta WSL Olmadan Kal\u0131c\u0131 Kurulum"}]},{"@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\/31551","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=31551"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31551\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}