<?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: Akhil Malviya</title>
    <description>The latest articles on DEV Community by Akhil Malviya (@akhil_malviya_8).</description>
    <link>https://dev.to/akhil_malviya_8</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%2F3363455%2F2f39643c-cb47-40a3-8cd6-ebfaba8953ae.jpg</url>
      <title>DEV Community: Akhil Malviya</title>
      <link>https://dev.to/akhil_malviya_8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akhil_malviya_8"/>
    <language>en</language>
    <item>
      <title>🔍 Introducing responsive-debugger: Instantly Visualize Breakpoints While Developing</title>
      <dc:creator>Akhil Malviya</dc:creator>
      <pubDate>Sat, 19 Jul 2025 05:23:55 +0000</pubDate>
      <link>https://dev.to/akhil_malviya_8/introducing-responsive-debugger-instantly-visualize-breakpoints-while-developing-11l2</link>
      <guid>https://dev.to/akhil_malviya_8/introducing-responsive-debugger-instantly-visualize-breakpoints-while-developing-11l2</guid>
      <description>&lt;p&gt;Great! Since you’ve published a package called &lt;code&gt;responsive-debugger&lt;/code&gt; on &lt;a href="https://www.npmjs.com/" rel="noopener noreferrer"&gt;npmjs.com&lt;/a&gt;, writing a &lt;strong&gt;professional, SEO-optimized, developer-focused blog post&lt;/strong&gt; can drive traffic, build trust, and help monetize your work over time.&lt;/p&gt;

&lt;p&gt;🚀 Overview&lt;/p&gt;

&lt;p&gt;One of the most overlooked — yet critical — parts of frontend development is &lt;strong&gt;responsive design debugging&lt;/strong&gt;. While tools like Chrome DevTools are powerful, they can be cumbersome for quick layout visualization.&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;&lt;a href="https://www.npmjs.com/package/responsive-debugger" rel="noopener noreferrer"&gt;&lt;code&gt;responsive-debugger&lt;/code&gt;&lt;/a&gt;&lt;/strong&gt; — a lightweight, plug-and-play utility to instantly visualize screen size breakpoints right in the browser, during development.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✅ Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;📐 &lt;strong&gt;Displays screen size + breakpoint in real-time&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🧠 &lt;strong&gt;No DevTools toggling&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🪶 &lt;strong&gt;Tiny footprint — no external dependencies&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Customizable themes and position&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Framework-agnostic (React, Vue, Svelte, plain HTML, etc.)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🛠️ &lt;strong&gt;Perfect companion for Tailwind, Bootstrap, or any responsive CSS framework&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📦 Installation
&lt;/h3&gt;

&lt;p&gt;You can install &lt;code&gt;responsive-debugger&lt;/code&gt; globally or as a dev dependency:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;responsive-debugger &lt;span class="nt"&gt;--save-dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or using Yarn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn add responsive-debugger &lt;span class="nt"&gt;--dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔧 Usage
&lt;/h3&gt;

&lt;p&gt;Just import and initialize it in your app (preferably only in dev):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;injectDebugger&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;responsive-debugger&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="nf"&gt;injectDebugger&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;position&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;top-right&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// top-left | top-right | bottom-left | bottom-right&lt;/span&gt;
  &lt;span class="na"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dark&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;// or 'light'&lt;/span&gt;
  &lt;span class="na"&gt;breakpoints&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;sm&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;640&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;md&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;768&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;lg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1024&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;xl&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1280&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;2xl&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1536&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The breakpoint viewer will appear in the corner of your screen showing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;📱 sm | 640px
💻 md | 768px
🖥️ lg | 1024px
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  💡 Ideal For:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Tailwind CSS devs working on responsive layouts&lt;/li&gt;
&lt;li&gt;Freelancers &amp;amp; agencies doing quick layout audits&lt;/li&gt;
&lt;li&gt;Frontend teams improving handoff with designers&lt;/li&gt;
&lt;li&gt;Developers who hate resizing the browser 100 times a day 😅&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧱 Tech Stack
&lt;/h3&gt;

&lt;p&gt;Built using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Vanilla DOM manipulation (no frameworks)&lt;/li&gt;
&lt;li&gt;Zero dependencies — ultra lightweight&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧑‍💻 Why I Built This
&lt;/h3&gt;

&lt;p&gt;As a frontend developer, I was constantly resizing my browser, opening DevTools, checking screen widths — &lt;strong&gt;it interrupted my flow&lt;/strong&gt;. I wanted something always visible but non-intrusive.&lt;/p&gt;

&lt;p&gt;So I built &lt;code&gt;responsive-debugger&lt;/code&gt; to stay in the zone while building fluid UIs.&lt;/p&gt;




&lt;h3&gt;
  
  
  📈 Future Plans
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;🎛️ UI configurator panel&lt;/li&gt;
&lt;li&gt;🧩 Chrome Extension version&lt;/li&gt;
&lt;li&gt;🔌 Framework plugins (Next.js, Vue, etc.)&lt;/li&gt;
&lt;li&gt;💬 Community suggestions!&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🤝 Contribute or Sponsor
&lt;/h3&gt;

&lt;p&gt;Got ideas, issues, or want to contribute? Head to the GitHub repo:&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/MrAkhilMalvi/responsive-debugger" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you like this tool, consider starring the repo ⭐ or sponsoring for continued development ❤️&lt;/p&gt;




&lt;h3&gt;
  
  
  📣 Spread the Word
&lt;/h3&gt;

&lt;p&gt;If you find &lt;code&gt;responsive-debugger&lt;/code&gt; helpful, please share it with your team or on Twitter/X/LinkedIn!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;responsive-debugger &lt;span class="nt"&gt;--save-dev&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  💬 Feedback?
&lt;/h3&gt;

&lt;p&gt;Drop a comment or open an issue — I’d love to hear how you’re using &lt;code&gt;responsive-debugger&lt;/code&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 TL;DR
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;responsive-debugger&lt;/code&gt; is the lightweight tool I wish I had years ago. It’s here to help developers build more responsive, user-friendly interfaces &lt;strong&gt;without interrupting their flow&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Give it a try — your workflow will thank you.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🐳 Mastering Docker: A Complete Beginner to Advanced Guide (With Real-World Use Cases)</title>
      <dc:creator>Akhil Malviya</dc:creator>
      <pubDate>Thu, 17 Jul 2025 11:20:51 +0000</pubDate>
      <link>https://dev.to/akhil_malviya_8/mastering-docker-a-complete-beginner-to-advanced-guide-with-real-world-use-cases-2jbf</link>
      <guid>https://dev.to/akhil_malviya_8/mastering-docker-a-complete-beginner-to-advanced-guide-with-real-world-use-cases-2jbf</guid>
      <description>&lt;p&gt;Docker is one of the most powerful tools in modern software development. Whether you're a beginner trying to containerize your first app or an advanced engineer managing CI/CD pipelines, this guide will walk you through everything you need to know — in plain English.&lt;/p&gt;

&lt;p&gt;🔰 Beginner Level&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is Docker?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Dockerlets you package and run applications in isolated environments called containers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ Why Use It?&lt;br&gt;
Ensures your app runs the same everywhere — no more "it works on my machine."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;What is a Docker Image?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A Docker image is a read-only blueprint of your app that includes the code, dependencies, and OS environment.&lt;/p&gt;

&lt;p&gt;bash&lt;br&gt;
docker build -t my-app .&lt;/p&gt;
&lt;h3&gt;
  
  
  3. What is a Docker Container?
&lt;/h3&gt;

&lt;p&gt;A &lt;strong&gt;container&lt;/strong&gt; is a running instance of an image. It’s isolated, fast, and lightweight.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  4. Dockerfile
&lt;/h3&gt;

&lt;p&gt;A &lt;code&gt;Dockerfile&lt;/code&gt; is a set of instructions for building Docker images.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; node:18&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . /app&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;span class="k"&gt;CMD&lt;/span&gt;&lt;span class="s"&gt; ["npm", "start"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  5. Docker Hub
&lt;/h3&gt;

&lt;p&gt;Docker Hub is like GitHub, but for images. You can push/pull images from it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker pull nginx
docker push myuser/my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  6. Basic Commands
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker build &lt;span class="nt"&gt;-t&lt;/span&gt; app &lt;span class="nb"&gt;.&lt;/span&gt;    &lt;span class="c"&gt;# Build image&lt;/span&gt;
docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 3000:3000 app  &lt;span class="c"&gt;# Run container&lt;/span&gt;
docker ps                 &lt;span class="c"&gt;# List containers&lt;/span&gt;
docker stop &amp;lt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;          &lt;span class="c"&gt;# Stop container&lt;/span&gt;
docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; &amp;lt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; bash &lt;span class="c"&gt;# Open shell inside container&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  7. Port Mapping
&lt;/h3&gt;

&lt;p&gt;Maps container ports to host ports. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-p&lt;/span&gt; 8080:3000 app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now access the app at &lt;code&gt;localhost:8080&lt;/code&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  8. Volumes
&lt;/h3&gt;

&lt;p&gt;Used to persist data outside of the container.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker run &lt;span class="nt"&gt;-v&lt;/span&gt; /data:/app/data my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚙️ Intermediate Level
&lt;/h2&gt;

&lt;h3&gt;
  
  
  9. Docker Compose
&lt;/h3&gt;

&lt;p&gt;Use &lt;code&gt;docker-compose.yml&lt;/code&gt; to define multi-container apps.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3"&lt;/span&gt;
&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;app&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;build&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;.&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;3000:3000"&lt;/span&gt;
  &lt;span class="na"&gt;db&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;postgres&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;pgdata:/var/lib/postgresql/data&lt;/span&gt;
&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;pgdata&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker-compose up
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  10. Docker Networks
&lt;/h3&gt;

&lt;p&gt;Enables communication between containers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker network create my-net
docker run &lt;span class="nt"&gt;--network&lt;/span&gt; my-net ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  11. Bind Mount vs Volume
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bind Mount&lt;/strong&gt;: Links to local folders (&lt;code&gt;-v ./data:/data&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume&lt;/strong&gt;: Managed by Docker (&lt;code&gt;docker volume create&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  12. Docker Context
&lt;/h3&gt;

&lt;p&gt;Lets you switch between environments (e.g., local and remote).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker context use remote
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  13. Dockerfile Layers
&lt;/h3&gt;

&lt;p&gt;Each instruction (&lt;code&gt;RUN&lt;/code&gt;, &lt;code&gt;COPY&lt;/code&gt;, etc.) creates a layer.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ Helps with caching and faster rebuilds.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  14. .dockerignore
&lt;/h3&gt;

&lt;p&gt;Ignore files from being sent to the Docker daemon.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node_modules
.env
.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🚀 Advanced Level
&lt;/h2&gt;

&lt;h3&gt;
  
  
  15. Docker-in-Docker (DinD)
&lt;/h3&gt;

&lt;p&gt;Run Docker inside Docker. Useful in CI/CD tools like GitLab CI.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;docker:latest&lt;/span&gt;
&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;docker:dind&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Security Risk&lt;/strong&gt;: Grants full control over the Docker host.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  16. Docker Socket
&lt;/h3&gt;

&lt;p&gt;Access the host Docker engine inside containers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nt"&gt;-v&lt;/span&gt; /var/run/docker.sock:/var/run/docker.sock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  17. Multi-stage Builds
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="c"&gt;# Builder&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;node:18&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;builder&lt;/span&gt;
&lt;span class="k"&gt;WORKDIR&lt;/span&gt;&lt;span class="s"&gt; /app&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; . .&lt;/span&gt;
&lt;span class="k"&gt;RUN &lt;/span&gt;npm run build

&lt;span class="c"&gt;# Final&lt;/span&gt;
&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="s"&gt; nginx&lt;/span&gt;
&lt;span class="k"&gt;COPY&lt;/span&gt;&lt;span class="s"&gt; --from=builder /app/dist /usr/share/nginx/html&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;✅ Reduces image size and exposure of build tools.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  18. Healthcheck
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;HEALTHCHECK&lt;/span&gt;&lt;span class="s"&gt; CMD curl --fail http://localhost:3000 || exit 1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Docker will monitor container health and restart if needed.&lt;/p&gt;




&lt;h3&gt;
  
  
  19. Entrypoint vs CMD
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight docker"&gt;&lt;code&gt;&lt;span class="k"&gt;ENTRYPOINT&lt;/span&gt;&lt;span class="s"&gt; ["node"]&lt;/span&gt;
&lt;span class="k"&gt;CMD&lt;/span&gt;&lt;span class="s"&gt; ["app.js"]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;ENTRYPOINT&lt;/strong&gt;: Always runs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CMD&lt;/strong&gt;: Default arguments&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  20. Docker Orchestration Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker Swarm&lt;/strong&gt;: Built-in clustering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kubernetes&lt;/strong&gt;: Industry standard for scaling, self-healing, rolling deployments&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Real-World Scenarios
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;th&gt;Docker Concepts Used&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Simple React App&lt;/td&gt;
&lt;td&gt;Dockerfile, Image, Container, Port Mapping&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MERN Stack App&lt;/td&gt;
&lt;td&gt;Compose, Networks, Volumes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitLab CI for Deployments&lt;/td&gt;
&lt;td&gt;Docker-in-Docker, Multi-stage, Context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Production-grade Builds&lt;/td&gt;
&lt;td&gt;Multi-stage, Healthcheck, Entrypoint&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📌 Final Tips
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🧹 Clean up unused stuff:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  docker system prune &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;📦 List volumes:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  docker volume &lt;span class="nb"&gt;ls&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;🔍 Debug:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;  docker logs &amp;lt;container-id&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>docker</category>
      <category>webdev</category>
      <category>aws</category>
      <category>website</category>
    </item>
  </channel>
</rss>
