{"id":13746,"date":"2016-07-06T18:04:41","date_gmt":"2016-07-06T15:04:41","guid":{"rendered":"https:\/\/fatihboy.com\/?p=13746"},"modified":"2021-06-17T20:43:33","modified_gmt":"2021-06-17T17:43:33","slug":"aspnet_core_uygulamasi_docker_imaji_hazirlamak","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/","title":{"rendered":"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak"},"content":{"rendered":"<p><a href=\"https:\/\/fatihboy.com\/en\/post\/tag\/docker\/\">\u00d6nceki makalelerle birlikte<\/a> Docker konseptlerine ve kullan\u0131m\u0131na a\u015fina oldu\u011funuzu umuyorum. Bu makalemde konuyu bir ad\u0131m \u00f6teye g\u00f6t\u00fcrerek geli\u015ftirdi\u011fimiz bir ASP.Net Core uygulamas\u0131n\u0131 nas\u0131l bir Docker imaj\u0131na d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fimizi ve bir Container i\u00e7erisinde Docker\u2019da nas\u0131l \u00e7al\u0131\u015ft\u0131rabilece\u011fimizi anlataca\u011f\u0131m.<\/p>\n\n\n\n<p>S\u00fcrecin t\u00fcm ad\u0131mlar\u0131n\u0131 g\u00f6rebilmeniz i\u00e7in makalemde s\u0131f\u0131rdan ba\u015flayaca\u011f\u0131m. Geli\u015ftirme ortam\u0131 olarak pek \u00e7ok .Net geli\u015ftiricisinin al\u0131\u015fk\u0131n oldu\u011fu Windows ve Visual Studio\u2019dan da biraz uzakla\u015fal\u0131m. Her ne kadar ilerleyen makalelerde bunlar\u0131 kullanacak olsam da, \u015fimdilik Mac OS ortam\u0131nda \u00e7al\u0131\u015faca\u011f\u0131m. Bu ortamdaki en \u00f6nemli yard\u0131mc\u0131lar\u0131m Visual Studio Code ve bir grup komut sat\u0131r\u0131 arac\u0131 olacak. Dolay\u0131s\u0131yla \u00f6ncelikle <a href=\"https:\/\/code.visualstudio.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio Code<\/a>, <a href=\"https:\/\/fatihboy.com\/en\/post\/windows-ve-mac-icin-docker-public-beta\/\">Docker for Mac<\/a> ve <a href=\"https:\/\/fatihboy.com\/en\/post\/dot_net_core_1_0_yayinlandi\/\">.Net Core<\/a> kurulumlar\u0131n\u0131z\u0131 ger\u00e7ekle\u015ftirmi\u015f oldu\u011funuza emin olmal\u0131s\u0131n\u0131z. .Net Core RC s\u00fcr\u00fcmleri bilgisayar\u0131n\u0131zda kurulu ise \u00f6ncelikle <a href=\"https:\/\/github.com\/dotnet\/cli\/blob\/rel\/1.0.0\/scripts\/obtain\/uninstall\/dotnet-uninstall-pkgs.sh\" target=\"_blank\" rel=\"noopener noreferrer\">bu script<\/a> yard\u0131m\u0131yla kald\u0131rd\u0131\u011f\u0131n\u0131za emin olun.<\/p>\n\n\n\n<p>Olu\u015fturaca\u011f\u0131m\u0131z Docker dosyalar\u0131n\u0131 d\u00fczenlemekte yard\u0131mc\u0131 olmas\u0131 i\u00e7in <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=PeterJausovec.vscode-docker\" target=\"_blank\" rel=\"noopener noreferrer\">Visual Studio i\u00e7in Docker deste\u011fi eklentisi<\/a>ni kurman\u0131z\u0131 tavsiye ederim;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ext install vscode-docker<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/vs-code-docker-eklentisi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/vs-code-docker-eklentisi.png\" alt=\"vs-code-docker-eklentisi\"\/><\/a><\/figure>\n\n\n\n<p>Makalemin devam\u0131nda kritik yerlerde kullanaca\u011f\u0131m\u0131z ve hayat\u0131m\u0131z\u0131 kolayla\u015ft\u0131racak olan di\u011fer bir ara\u00e7ta <a href=\"http:\/\/yeoman.io\" target=\"_blank\" rel=\"noopener noreferrer\">Yeoman<\/a> olacak. Modern web uygulamalar\u0131 i\u00e7in platform ba\u011f\u0131ms\u0131z \u015fablon deste\u011fi almam\u0131z\u0131 sa\u011flan bu a\u00e7\u0131k kaynak kodlu proje i\u00e7in \u00f6ncelikle <a href=\"https:\/\/nodejs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Node.js\u2019i bilgisayar\u0131m\u0131za kurmal\u0131y\u0131z<\/a>. Bu kurulum sonras\u0131nda a\u015fa\u011f\u0131daki komutu kullanarak Node paket y\u00f6neticisi yard\u0131m\u0131yla Yeoman\u2019\u0131 sistemimize kurabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">npm install -g yo bower grunt-cli gulp<\/pre>\n\n\n\n<p>Dikkat ederseniz Yeoman kurulumu (<em>yo<\/em>) d\u0131\u015f\u0131nda bower, grunt ve gulp gibi ihtiyac\u0131m\u0131z olan di\u011fer kurulumlar\u0131 da ayn\u0131 komut sat\u0131r\u0131nda ger\u00e7ekle\u015ftirdik.<\/p>\n\n\n\n<p>Bir sonraki ad\u0131m\u0131m\u0131z Yeoman\u2019da ASP.Net Core uygulamas\u0131 olu\u015fturabilmek i\u00e7in gerekli olan <a href=\"https:\/\/github.com\/OmniSharp\/generator-aspnet\" target=\"_blank\" rel=\"noopener noreferrer\">generator-aspnet<\/a> paketimizi kurmakta;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">npm install -g generator-aspnet<\/pre>\n\n\n\n<p>Projemiz i\u00e7in bir klas\u00f6r olu\u015fturarak i\u00e7erisine gidelim;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir enteprisecoding-docker-sample\ncd enteprisecoding-docker-sample\/<\/pre>\n\n\n\n<p>Yeoman yard\u0131m\u0131yla bir ASP.Net Core projesi olu\u015ftural\u0131m;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">yo aspnet<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet.png\" alt=\"&quot;yo aspnet&quot; komutu ile Yeoman Asp.Net \u015fablon \u00fcreticisini ba\u015flatabilirsiniz\"\/><\/a><\/figure>\n\n\n\n<p>Uygulama t\u00fcr\u00fc olarak&nbsp; <strong>Web Application Basic [without Membership and Authorization]<\/strong> se\u00e7elim ve enter ile devam edelim.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet-ui.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet-ui.png\" alt=\"yo-aspnet-ui\"\/><\/a><\/figure>\n\n\n\n<p>Aray\u00fcz i\u00e7in tercih etti\u011fimiz framework\u2019\u00fc se\u00e7elim.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet-app-name.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet-app-name.png\" alt=\"yo-aspnet-app-name\"\/><\/a><\/figure>\n\n\n\n<p>Uygulamam\u0131za bir isim verelim (\u00f6rne\u011fin; EnterprisecodingDockerApp)<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet-sonuc.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/yo-aspnet-sonuc.png\" alt=\"yo-aspnet-sonuc\"\/><\/a><\/figure>\n\n\n\n<p>Yeoman Asp.Net generator bizim i\u00e7in proje dosyalar\u0131n\u0131 olu\u015fturacakt\u0131r. Projemizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00fckleme i\u00e7in az \u00f6nce olu\u015fturulan EnterprisecodingDockerApp klas\u00f6r\u00fcne giderek a\u015fa\u011f\u0131daki komutu kullanabilirsiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd EnterprisecodingDockerApp\/\ndotnet restore<\/pre>\n\n\n\n<p>Ard\u0131ndan projemizi a\u015fa\u011f\u0131daki komutla \u00e7al\u0131\u015ft\u0131rabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dotnet run<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/dotnet-run-1.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/dotnet-run.png\" alt=\"dotnet-run\"\/><\/a><\/figure>\n\n\n\n<p>Taray\u0131c\u0131dan <a href=\"http:\/\/localhost:5000\">http:\/\/localhost:5000<\/a> adresini ziyaret ederek uygulamam\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 teyit edebiliriz;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/uygulama-ana-sayfasi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/uygulama-ana-sayfasi.png\" alt=\"uygulama-ana-sayfasi\"\/><\/a><\/figure>\n\n\n\n<p>Komut sat\u0131r\u0131na geri d\u00f6nerek<strong> kntrl + c<\/strong> tu\u015fu yard\u0131m\u0131yla uygulamam\u0131z\u0131 durdural\u0131m.<\/p>\n\n\n\n<p>Projemizi Visual Studio Code i\u00e7erisinde ilk defa a\u00e7t\u0131\u011f\u0131m\u0131zda gerekli bile\u015fenlerin eklenmesi gerekti\u011fi hat\u0131rlat\u0131larak izin vermemiz istenecektir. <strong>Yes<\/strong> diyerek izin verelim;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/assets.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/assets.png\" alt=\"assets\"\/><\/a><\/figure>\n\n\n\n<p>Projemiz Visual Studio Code i\u00e7erisinde a\u015fa\u011f\u0131daki \u015fekilde g\u00f6r\u00fclecektir;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/vs-code-projemiz.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/vs-code-projemiz.png\" alt=\"vs-code-projemiz\"\/><\/a><\/figure>\n\n\n\n<p>Projemiz haz\u0131r oldu\u011funa g\u00f6re s\u0131ra geldi Docker imaj\u0131 olu\u015fturmaya. Bunun i\u00e7in ihtiyac\u0131m\u0131z olan tan\u0131mlama dosyalar\u0131 Yeoman ile olu\u015fturdu\u011fumuz projemize \u00e7oktan eklenmi\u015f durumda. Projemizde yer alan Dockerfile ihtiyac\u0131m\u0131z olan tan\u0131mlamalar\u0131 bar\u0131nd\u0131rmakta;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/vs-code-dockerfile.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/vs-code-dockerfile.png\" alt=\"vs-code-dockerfile\"\/><\/a><\/figure>\n\n\n\n<p><strong>Dockerfile<\/strong>, bir Docker imaj\u0131 olu\u015fturulurken ba\u015fvurulan tan\u0131mlama dosyas\u0131d\u0131r. Kendine has bir DSL\u2019i olan bu dosyada imaj kal\u0131t\u0131m\u0131, gerekli dosyalar\u0131n imaja at\u0131lmas\u0131, container ba\u015flat\u0131l\u0131rken yap\u0131lmas\u0131 gerekenler v.b. tan\u0131mlar\u0131 yapabilirsiniz.<\/p>\n\n\n\n<p>Yukar\u0131da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi bizim tan\u0131mlamam\u0131zda \u00f6ncelik Docker imaj\u0131m\u0131z\u0131n Microsoft taraf\u0131ndan haz\u0131rlanan dotnet imaj\u0131n\u0131n en g\u00fcncel s\u00fcr\u00fcm\u00fcnden kal\u0131t\u0131laca\u011f\u0131 belirtilmekte. devam\u0131nda mevcut klas\u00f6r i\u00e7erisi\u011fini imaj i\u00e7erisinde app klas\u00f6r\u00fc alt\u0131na at\u0131lmas\u0131 gerekti\u011fi s\u00f6ylenmekte.&nbsp; Imaj olu\u015fturulurken dotnet restore ve build i\u015flemlerinin yap\u0131lmas\u0131 gerekti\u011fi ve container\u2019\u0131n tcp 5000 portunu kullanaca\u011f\u0131 belirtiliyor. Son olarak da uygulaman\u0131n nas\u0131l ba\u015flat\u0131laca\u011f\u0131 anlat\u0131lmakta.<\/p>\n\n\n\n<p>Dockerfile dosyam\u0131z en basit haliyle dotnet bar\u0131nd\u0131ran, 5000 portundan bir web uygulamas\u0131 sunan bir imaj olacak. Docker imaj dosyas\u0131n\u0131 olu\u015fturmak i\u00e7in komut sat\u0131r\u0131nda projemizin bulundu\u011fu klas\u00f6re ge\u00e7erek a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131rman\u0131z yeterli olacakt\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker build -t enterprisecoding-docker-app .<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/docker-build.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/docker-build.png\" alt=\"docker-build\"\/><\/a><\/figure>\n\n\n\n<p>Successfully built sat\u0131r\u0131yla sonlanan bu komut ile birlikte docker imaj\u0131m\u0131z olu\u015fturulmu\u015f durumda. A\u015fa\u011f\u0131daki komut yard\u0131m\u0131yla \u00e7al\u0131\u015ft\u0131rabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run -it -p 5000:5000 enterprisecoding-docker-app<\/pre>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/docker-run.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/docker-run.png\" alt=\"docker-run\"\/><\/a><\/figure>\n\n\n\n<p>Dockerfile i\u00e7erisinde sadece uygulaman\u0131n a\u00e7aca\u011f\u0131 portu belirtti\u011fimiz i\u00e7in yukar\u0131daki mesaj\u0131 inceleyecek olursan\u0131z sunulan ip adresi olarak 0.0.0.0 de\u011feri yer almakta. Uygulamam\u0131z kar\u015f\u0131lanan t\u00fcm ip adresleri \u00fczerinden sunulmakta. Taray\u0131c\u0131dan daha \u00f6nce oldu\u011fu gibi yine <a href=\"http:\/\/localhost:5000\">http:\/\/localhost:5000<\/a> adresini yazarak uygulamay\u0131 kullanabilirsiniz.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/docker-kitematic.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/docker-kitematic.png\" alt=\"docker-kitematic\"\/><\/a><\/figure>\n\n\n\n<p>Bilgisayar\u0131n\u0131zda <a href=\"https:\/\/kitematic.com\" target=\"_blank\" rel=\"noopener noreferrer\">Kitematic<\/a> uygulamas\u0131 kurulu ise az \u00f6nce olu\u015fturdu\u011fumuz Docker imaj\u0131n\u0131n bir container i\u00e7inde \u00e7al\u0131\u015ft\u0131\u011f\u0131 buradan g\u00f6rebilir, uygulama loglar\u0131n\u0131 ve web ekran\u0131n\u0131 takip edebilirsiniz.<\/p>\n\n\n\n<p>Tebrik ederim, az \u00f6nce ilk Asp.Net Core uygulaman\u0131z\u0131 bir Docker Container\u2019\u0131 i\u00e7erisinde sundunuz!<\/p>\n\n\n\n<p>Burada dikkat etmeniz gerekli bir ka\u00e7 konu var. Dikkatinizden ka\u00e7m\u0131\u015f olabilece\u011fini d\u00fc\u015f\u00fcnerek bir daha alt\u0131n\u0131 \u00e7izmek istiyorum. Dockerfile dosyam\u0131za geri d\u00f6necek olursak, uygulama ana klas\u00f6r\u00fcm\u00fczdeki <u>t\u00fcm dosyalar\u0131n<\/u> imaj i\u00e7erisindeki app klas\u00f6r\u00fcne at\u0131lmas\u0131n\u0131 ve ard\u0131ndan bir restore ve build i\u015flemi yap\u0131lmas\u0131n\u0131 istemi\u015ftik. Bunun anlam\u0131, bu haliyle <u>uygulama kodlar\u0131m\u0131z olu\u015fturdu\u011fumuz imaj\u0131n i\u00e7erisinde yer al\u0131yor<\/u>. Bir sonraki makalemde bir ka\u00e7 ek ad\u0131m ve yap\u0131land\u0131rmayla nas\u0131l imaj\u0131m\u0131zda sadece \u00e7al\u0131\u015fan uygulamam\u0131z\u0131 atabilece\u011fimizi sizlerle payla\u015faca\u011f\u0131m.<\/p>","protected":false},"excerpt":{"rendered":"<p>\u00d6nceki makalelerle birlikte Docker konseptlerine ve kullan\u0131m\u0131na a\u015fina oldu\u011funuzu umuyorum. Bu makalemde konuyu bir ad\u0131m \u00f6teye g\u00f6t\u00fcrerek geli\u015ftirdi\u011fimiz bir ASP.Net Core uygulamas\u0131n\u0131 nas\u0131l bir Docker imaj\u0131na d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fimizi ve bir Container i\u00e7erisinde Docker\u2019da nas\u0131l \u00e7al\u0131\u015ft\u0131rabilece\u011fimizi anlataca\u011f\u0131m. S\u00fcrecin t\u00fcm ad\u0131mlar\u0131n\u0131 g\u00f6rebilmeniz i\u00e7in makalemde s\u0131f\u0131rdan ba\u015flayaca\u011f\u0131m. Geli\u015ftirme ortam\u0131 olarak pek \u00e7ok .Net geli\u015ftiricisinin al\u0131\u015fk\u0131n oldu\u011fu Windows ve Visual&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":33487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[99,179,28],"tags":[98,180,204],"class_list":["post-13746","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","category-devops","category-turkce","tag-asp-net","tag-devops","tag-docker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak - Fatih Boy<\/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:\/\/fatihboy.com\/en\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"\u00d6nceki makalelerle birlikte Docker konseptlerine ve kullan\u0131m\u0131na a\u015fina oldu\u011funuzu umuyorum. Bu makalemde konuyu bir ad\u0131m \u00f6teye g\u00f6t\u00fcrerek geli\u015ftirdi\u011fimiz bir ASP.Net Core uygulamas\u0131n\u0131 nas\u0131l bir Docker imaj\u0131na d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fimizi ve bir Container i\u00e7erisinde Docker\u2019da nas\u0131l \u00e7al\u0131\u015ft\u0131rabilece\u011fimizi anlataca\u011f\u0131m. S\u00fcrecin t\u00fcm ad\u0131mlar\u0131n\u0131 g\u00f6rebilmeniz i\u00e7in makalemde s\u0131f\u0131rdan ba\u015flayaca\u011f\u0131m. Geli\u015ftirme ortam\u0131 olarak pek \u00e7ok .Net geli\u015ftiricisinin al\u0131\u015fk\u0131n oldu\u011fu Windows ve Visual...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2016-07-06T15:04:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-17T17:43:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1194\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak\",\"datePublished\":\"2016-07-06T15:04:41+00:00\",\"dateModified\":\"2021-06-17T17:43:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\"},\"wordCount\":996,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg\",\"keywords\":[\"Asp.Net\",\"DevOps\",\"Docker\"],\"articleSection\":[\"Asp.Net\",\"DevOps\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\",\"url\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\",\"name\":\"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg\",\"datePublished\":\"2016-07-06T15:04:41+00:00\",\"dateModified\":\"2021-06-17T17:43:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg\",\"width\":1800,\"height\":1194},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak - Fatih Boy","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:\/\/fatihboy.com\/en\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/","og_locale":"en_US","og_type":"article","og_title":"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak - Fatih Boy","og_description":"\u00d6nceki makalelerle birlikte Docker konseptlerine ve kullan\u0131m\u0131na a\u015fina oldu\u011funuzu umuyorum. Bu makalemde konuyu bir ad\u0131m \u00f6teye g\u00f6t\u00fcrerek geli\u015ftirdi\u011fimiz bir ASP.Net Core uygulamas\u0131n\u0131 nas\u0131l bir Docker imaj\u0131na d\u00f6n\u00fc\u015ft\u00fcrebilece\u011fimizi ve bir Container i\u00e7erisinde Docker\u2019da nas\u0131l \u00e7al\u0131\u015ft\u0131rabilece\u011fimizi anlataca\u011f\u0131m. S\u00fcrecin t\u00fcm ad\u0131mlar\u0131n\u0131 g\u00f6rebilmeniz i\u00e7in makalemde s\u0131f\u0131rdan ba\u015flayaca\u011f\u0131m. Geli\u015ftirme ortam\u0131 olarak pek \u00e7ok .Net geli\u015ftiricisinin al\u0131\u015fk\u0131n oldu\u011fu Windows ve Visual...Read More","og_url":"https:\/\/fatihboy.com\/en\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/","og_site_name":"Fatih Boy","article_published_time":"2016-07-06T15:04:41+00:00","article_modified_time":"2021-06-17T17:43:33+00:00","og_image":[{"width":1800,"height":1194,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg","type":"image\/jpeg"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak","datePublished":"2016-07-06T15:04:41+00:00","dateModified":"2021-06-17T17:43:33+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/"},"wordCount":996,"commentCount":1,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg","keywords":["Asp.Net","DevOps","Docker"],"articleSection":["Asp.Net","DevOps","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/","url":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/","name":"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg","datePublished":"2016-07-06T15:04:41+00:00","dateModified":"2021-06-17T17:43:33+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2016\/07\/forklift.jpg","width":1800,"height":1194},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/aspnet_core_uygulamasi_docker_imaji_hazirlamak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"ASP.Net Core Uygulamas\u0131 i\u00e7in Docker \u0130maj\u0131 Haz\u0131rlamak"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/13746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=13746"}],"version-history":[{"count":2,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/13746\/revisions"}],"predecessor-version":[{"id":33488,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/13746\/revisions\/33488"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/33487"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=13746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=13746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=13746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}