<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: velan</title>
    <description>The latest articles on DEV Community by velan (@singaravelan).</description>
    <link>https://dev.to/singaravelan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F465678%2F3eb84f6c-d7e9-4728-9d33-a1e62f9937e9.png</url>
      <title>DEV Community: velan</title>
      <link>https://dev.to/singaravelan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/singaravelan"/>
    <language>en</language>
    <item>
      <title>Azure function: app setting"WEBSITE_RUN_FROM_PACKAGE" to the rescue!</title>
      <dc:creator>velan</dc:creator>
      <pubDate>Thu, 08 Apr 2021 14:44:42 +0000</pubDate>
      <link>https://dev.to/singaravelan/azure-function-app-setting-websiterunfrompackage-to-the-rescue-5943</link>
      <guid>https://dev.to/singaravelan/azure-function-app-setting-websiterunfrompackage-to-the-rescue-5943</guid>
      <description>&lt;p&gt;Recently came across a scenario, Azure function .netcore package files went missing after redeploying the underlying infra using &lt;code&gt;arm template&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Root cause analysis discovered that when redeploying the underlying infra using &lt;code&gt;arm template&lt;/code&gt;, it will clear out &lt;code&gt;wwwroot&lt;/code&gt; folder in azure function.&lt;/p&gt;

&lt;p&gt;To prevent the &lt;code&gt;wwwroot&lt;/code&gt; folder from being emptied out, just need to add an app setting!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;WEBSITE_RUN_FROM_PACKAGE: 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>azure</category>
      <category>azurefunctions</category>
      <category>iac</category>
      <category>arm</category>
    </item>
    <item>
      <title>Next.js: Multilanguage support with internationalized routing</title>
      <dc:creator>velan</dc:creator>
      <pubDate>Thu, 08 Apr 2021 13:57:03 +0000</pubDate>
      <link>https://dev.to/singaravelan/next-js-multilanguage-support-with-internationalized-routing-486e</link>
      <guid>https://dev.to/singaravelan/next-js-multilanguage-support-with-internationalized-routing-486e</guid>
      <description>&lt;p&gt;Let's create a simple Next.js starter project with multiple languages - English &lt;em&gt;(en-US)&lt;/em&gt;, Tamil &lt;em&gt;(ta-IN)&lt;/em&gt;, Hindi &lt;em&gt;(hi-IN)&lt;/em&gt;, Kannada &lt;em&gt;(kn-IN)&lt;/em&gt; support using Next.js native &lt;a href="https://nextjs.org/docs/advanced-features/i18n-routing" rel="noopener noreferrer"&gt;i18n&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉 Source code of this article available at &lt;a href="https://github.com/singara-velan/Nextjs-Multilanguage" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What are we going to do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Creating a Next js app (v10.x.x) with boostrap.css&lt;/li&gt;
&lt;li&gt;Configuring i18n in next.config.js&lt;/li&gt;
&lt;li&gt;Create locale JSON&lt;/li&gt;
&lt;li&gt;Read locale from the route and display in the HTML&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Set up
&lt;/h3&gt;

&lt;p&gt;Create a Next js app and add bootstrap, swr as dependency&lt;br&gt;
&lt;code&gt;npx create-next-app&lt;/code&gt;&lt;br&gt;
&lt;code&gt;npm i -s bootstrap&lt;/code&gt;&lt;br&gt;
&lt;code&gt;npm i -s swr&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run the app&lt;br&gt;
&lt;code&gt;npm run dev&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Create a new page called home under pages&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const Home = () =&amp;gt; {
    return (
        &amp;lt;h1&amp;gt;Hey! I am home - English&amp;lt;/h1&amp;gt;
    )
}

export default Home;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate to &lt;code&gt;http://localhost:3000/home&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F342pb2yn0i9yk0tbepbw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F342pb2yn0i9yk0tbepbw.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Configuring i18n route
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;There are two ways to handle locale: Sub-path and domain routing. Here we explore Sub-path routing&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sub-path routing is basically prefixing locale code in front of existing routes without any impact on actual routing. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;eg: /home,&lt;br&gt;
     /en-US/home,&lt;br&gt;
     /ta-IN/home,&lt;br&gt;
     /hi-IN/home&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now if you try to access one of the routes eg: &lt;code&gt;/en-us/home&lt;/code&gt;, you will see 404 message. Because locale-based routing not enabled yet.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqhzgvgeabm74twl4xdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyqhzgvgeabm74twl4xdj.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bc1465poepp1jllqdjv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bc1465poepp1jllqdjv.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To enable locale-based routing, Create a next.config.js file in the project root as below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;module.exports = {
    i18n: {
        locales: ['en-us', 'ta-in', 'hi-in', 'kn-in'],
        defaultLocale: 'en-us'
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;💡 checkout i18n locale code reference for different languages &lt;a href="https://gist.github.com/singara-velan/aedb97495f4e430fc34e88daef6716e5" rel="noopener noreferrer"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💡 Do remember to stop and start the app, whenever modifying next.config.js&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now try again to access locale-based route &lt;code&gt;/en-us/home&lt;/code&gt;&lt;br&gt;
Boom, it works!! 😍&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffov47yv1scapniddnuwe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffov47yv1scapniddnuwe.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's try with another locale code &lt;code&gt;/ta-in/home&lt;/code&gt;. &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fld7q4g2jf5o6vaykvk58.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fld7q4g2jf5o6vaykvk58.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
The page didn't break, but the language doesn't change 😦 Because we didn't create any language-specific content. &lt;/p&gt;
&lt;h3&gt;
  
  
  Create language-specific files
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Create a new folder called &lt;code&gt;locales&lt;/code&gt; under the public folder and create JSON files with exact names as locale codes&lt;/em&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6nq8m9s08xy5zl82l5h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy6nq8m9s08xy5zl82l5h.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
Inside of each JSON create one key-value language as a data property&lt;/p&gt;

&lt;p&gt;eg: &lt;a href="https://raw.githubusercontent.com/singara-velan/Nextjs-Multilanguage/main/public/locales/en-US.json" rel="noopener noreferrer"&gt;en-US&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "language": "English"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/singara-velan/Nextjs-Multilanguage/main/public/locales/ta-IN.json" rel="noopener noreferrer"&gt;ta-IN&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "language": "தமிழ்"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://raw.githubusercontent.com/singara-velan/Nextjs-Multilanguage/main/public/locales/hi-IN.json" rel="noopener noreferrer"&gt;hi-IN&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
    "language": "हिन्दी"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Loading the language file based on route locale code
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;When navigating to a specific locale route, the page should show content from the respective locale JSON file.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We will be achieving that by&lt;br&gt;
1 Get the locale code from the route&lt;br&gt;
2 Fetch the locale JSON&lt;br&gt;
3 Bind in HTML&lt;/p&gt;

&lt;p&gt;1: Get the locale code from the route&lt;br&gt;
&lt;code&gt;next/router&lt;/code&gt; will provide us the locale code. Update the home.js file with &lt;code&gt;useRouter&lt;/code&gt; hook.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const router = useRouter();
const locale = router.locale;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2: Fetch locale JSON file&lt;br&gt;
Make Rest call using &lt;a href="https://swr.vercel.app/" rel="noopener noreferrer"&gt;useSWR&lt;/a&gt; hook with the locale code from the previous step.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const { data, error } = useSWR(`/locales/${locale}.json`, fetcher)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3: Bind in HTML&lt;br&gt;
Replace the &lt;code&gt;English&lt;/code&gt; with the data fetched from the previous step. Final home.js will looks as below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { useRouter } from 'next/router'
import useSWR from 'swr'

const Home = () =&amp;gt; {
    const router = useRouter();
    const locale = router.locale;

    const { data, error } = useSWR(`/locales/${locale}.json`, fetcher)

    return (
        &amp;lt;h1&amp;gt;Hey! I am home - {data?.language}&amp;lt;/h1&amp;gt;
    )
}

const fetcher = (...args) =&amp;gt; fetch(...args).then(res =&amp;gt; res.json());

export default Home;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Time for Testing! 😃 😃
&lt;/h3&gt;

&lt;p&gt;Try access different route based on route code&lt;br&gt;
&lt;code&gt;http://localhost:3000/ta-IN/home&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvdkfumx0hothga3lexp5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvdkfumx0hothga3lexp5.png" alt="image"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;http://localhost:3000/hi-IN/home&lt;/code&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F495mynxb6dll3dr7quyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F495mynxb6dll3dr7quyg.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Its working !! Have a great day 😊 😇&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>i18n</category>
      <category>indianlanguages</category>
      <category>multilingual</category>
    </item>
    <item>
      <title>Exploring files inside of docker container in windows</title>
      <dc:creator>velan</dc:creator>
      <pubDate>Tue, 08 Sep 2020 14:19:29 +0000</pubDate>
      <link>https://dev.to/singaravelan/exploring-files-inside-of-docker-container-in-windows-5b8m</link>
      <guid>https://dev.to/singaravelan/exploring-files-inside-of-docker-container-in-windows-5b8m</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Recently i got interested to explore whats inside of an docker image. How the files would have been organized?. Lets find out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h5&gt;
  
  
  Prerequesite
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Running docker image&lt;/li&gt;
&lt;li&gt;Powershell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have took two images for exploration,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker ps
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zqqomFoP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/viougxiuccekqpfrz72v.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zqqomFoP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/viougxiuccekqpfrz72v.PNG" alt="docker-ps"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;firstcontainer&lt;/strong&gt; .Net Core mvc (.net core 2+)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ctiqaui&lt;/strong&gt; .Net Framework mvc (Mvc 5)
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;docker exec -t -i firstContainer powershell
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above command will open the powershell terminal inside of docker directory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d5pcKuT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jbuypslaxs8mfls1y68i.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d5pcKuT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jbuypslaxs8mfls1y68i.PNG" alt="docker-exce"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jr5qsxlF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/szml54pewi1thk0clsht.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jr5qsxlF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/szml54pewi1thk0clsht.PNG" alt="docker-pw"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Great!. We are inside of docker!!&lt;/p&gt;

&lt;p&gt;Now we can use regular windows commands to explore the directories.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tAajphzn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6ptzqstglkcix9uoelme.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tAajphzn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6ptzqstglkcix9uoelme.PNG" alt="docker ls"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;so the app folder consist of all the complied codes of .net core app. &lt;/p&gt;

&lt;p&gt;lets explore root directory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ..
ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pojCesO5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/utmo4ci0q0iagsc13tsc.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pojCesO5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/utmo4ci0q0iagsc13tsc.PNG" alt="docker cd"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We can see docker windows image files and app folder to host .net core app.&lt;/p&gt;

&lt;p&gt;Lets open up .net framework MVC5 app container and compare with .net core.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cA_4besf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yrxvepg0aexh37qn39bb.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cA_4besf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/yrxvepg0aexh37qn39bb.PNG" alt="docker mvc"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It contains windows server core file and IIS to host mvc 5 app.&lt;/p&gt;

&lt;p&gt;To come out of the powershell session just press&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ctrl + z
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>docker</category>
      <category>dotnet</category>
    </item>
  </channel>
</rss>
