﻿
{"id":14945,"date":"2020-04-04T23:32:41","date_gmt":"2020-04-04T23:32:41","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=14945"},"modified":"2020-04-04T23:32:41","modified_gmt":"2020-04-04T23:32:41","slug":"docker-container-icin-environment-belirleme","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/docker-container-icin-environment-belirleme\/","title":{"rendered":"Docker &#8211; Container \u0130\u00e7in Environment Belirleme"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Docker&#8217;da aya\u011fa kald\u0131r\u0131lan containerlar\u0131n <a href=\"https:\/\/www.gencayyildiz.com\/blog\/asp-net-core-environment-nedir-konfigurasyonu-nasil-yapilir\/\" target=\"_blank\" rel=\"noopener noreferrer\">environment<\/a>&#8216;\u0131n\u0131 belirlemek isteyebiliriz. Bunun i\u00e7in a\u015fa\u011f\u0131daki prototipte Docker CLI komutu yaz\u0131lmas\u0131 yeterlidir.<\/p>\n<p><strong style=\"font-size: 10px; color: red;\"><u>PROTOT\u0130P<\/u><\/strong><br \/>\n<em>docker run -d -p &lt;port_out&gt;:&lt;port_in&gt; <span style=\"color:blue;\">&#8211;env &lt;environment_parameter&gt;=&lt;environment&gt;<\/span> &#8211;name &lt;controller_name&gt; &lt;image_name&gt;<\/em><\/p>\n<p>&#8216;<span style=\"color:blue;\">&#8211;env<\/span>&#8216;(ya da &#8216;<span style=\"color:blue;\">-e<\/span>&#8216; \u015feklinde de verilebilir) parametresi aya\u011fa kald\u0131r\u0131lacak container\u0131n environment bilgisini ta\u015f\u0131maktad\u0131r.<\/p>\n<p><strong style=\"font-size: 10px; color: red;\"><u>KOD<\/u><\/strong><br \/>\n<code style=\"color:red;\"><strong>docker run -d -p 1071:1453 <span style=\"color:blue;\">--env ASPNETCORE_ENVIRONMENT=Production<\/span> --name cont1 appimage:v1<\/strong><\/code><br \/>\nya da<br \/>\n<code style=\"color:red;\"><strong>docker run -d -p 1071:1453 <span style=\"color:blue;\">--env ASPNETCORE_ENVIRONMENT=Development<\/span> --name cont1 appimage:v1<\/strong><\/code><\/p>\n<p>Ayriyetten a\u015fa\u011f\u0131daki gibi runtime&#8217;da ihtiya\u00e7 duyulan ba\u015fka environment de\u011fi\u015fkenlerde container aya\u011fa kald\u0131r\u0131l\u0131rken belirlenebilir.<br \/>\n<code style=\"color:red;\"><strong>docker run -d -p 1071:1453 <span style=\"color:blue;\">--env connectionstring='veritabani yolu'<\/span> --name cont1 appimage:v1<\/strong><\/code><\/p>\n<blockquote style=\"color:green;\"><p><em>Asp.NET Core uygulamalar\u0131nda veritaban\u0131 ba\u011flant\u0131 yolu olan connection string de\u011ferini &#8216;appsettings.json&#8217; \u00fczerinde tutmak ilgili dosyan\u0131n publish&#8217;e eklenmesinden dolay\u0131 b\u00fcy\u00fck bir g\u00fcvenlik zaafiyetine sebebiyet verebilir. Bunda dolay\u0131 ilgili connection string de\u011ferlerini environment olarak uygulama a\u011faya kalkarken verilmesi daha g\u00fcvenli bir \u00e7\u00f6z\u00fcm olacakt\u0131r.<\/em><\/p><\/blockquote>\n<p>Tekbir Docker CLI komutunda birden fazla environment de\u011fi\u015fkenini tan\u0131mlayabilmek i\u00e7in a\u015fa\u011f\u0131daki gibi komut olu\u015fturabilirsiniz;<\/p>\n<p><code style=\"color:red;\"><strong>docker run -d -p 1071:1453 <span style=\"color:blue;\">--env field1='value1'<\/span><\/strong><\/code><br \/>\n<code style=\"color:red;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">--env field2='value2'<\/span><\/strong><\/code><br \/>\n<code style=\"color:red;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">--env field3='value3'<\/span><\/strong><\/code><br \/>\n<code style=\"color:red;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">--env field4='value4'<\/span><\/strong><\/code><br \/>\n<code style=\"color:red;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color:blue;\">--env field5='value5'<\/span> --name cont1 appimage:v1<\/strong><\/code><\/p>\n<p>Ayr\u0131ca t\u00fcm bunlar\u0131n d\u0131\u015f\u0131nda Dockerfile dosyas\u0131nda da &#8216;ENV&#8217; talimat\u0131yla istedi\u011finiz environment de\u011fi\u015fkenini image&#8217;e ekleyebilir ve o image&#8217;den aya\u011fa kald\u0131r\u0131lan t\u00fcm containerlarda varsay\u0131lan hale getirebilirsiniz.<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nENV field1=&quot;value1&quot;\r\nENV field2=&quot;value2&quot;\r\nENV field3=&quot;value3&quot;\r\n<\/pre>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Docker&#8217;da aya\u011fa kald\u0131r\u0131lan containerlar\u0131n environment&#8216;\u0131n\u0131 belirlemek isteyebiliriz. Bunun i\u00e7in a\u015fa\u011f\u0131daki prototipte Docker CLI komutu yaz\u0131lmas\u0131 yeterlidir. PROTOT\u0130P docker run -d -p &lt;port_out&gt;:&lt;port_in&gt; &#8211;env &lt;environment_parameter&gt;=&lt;environment&gt; &#8211;name &lt;controller_name&gt; &lt;image_name&gt; &#8216;&#8211;env&#8216;(ya da &#8216;-e&#8216; \u015feklinde de verilebilir)&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":14313,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3281],"tags":[3374,3375,3284,3372,3373,3364],"class_list":["post-14945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker","tag-container-environment","tag-container-environment-belirleme","tag-docker","tag-docker-environment","tag-docker-environment-belirleme","tag-environment"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/14945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=14945"}],"version-history":[{"count":29,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/14945\/revisions"}],"predecessor-version":[{"id":14974,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/14945\/revisions\/14974"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/14313"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=14945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=14945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=14945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}