<?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: Dharamraj Yadav</title>
    <description>The latest articles on DEV Community by Dharamraj Yadav (@dharam_in).</description>
    <link>https://dev.to/dharam_in</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3783401%2Fce99eeb0-0e47-4ecb-8645-a966077c4605.png</url>
      <title>DEV Community: Dharamraj Yadav</title>
      <link>https://dev.to/dharam_in</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dharam_in"/>
    <language>en</language>
    <item>
      <title>I Thought I Knew Linux — Then I Actually Learned It (Week 1)</title>
      <dc:creator>Dharamraj Yadav</dc:creator>
      <pubDate>Sun, 21 Jun 2026 05:10:22 +0000</pubDate>
      <link>https://dev.to/dharam_in/i-thought-i-knew-linux-then-i-actually-learned-it-week-1-2ep9</link>
      <guid>https://dev.to/dharam_in/i-thought-i-knew-linux-then-i-actually-learned-it-week-1-2ep9</guid>
      <description>&lt;h2&gt;
  
  
  The Big Picture
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Before you read this doc you must know english is my second language and this doc is have completely my own words not any AI, translator etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What an OS really is
&lt;/h3&gt;

&lt;p&gt;An Operating System is software that manage every system resources and it also manage - Hardware, Kernel, and User space.&lt;/p&gt;

&lt;h3&gt;
  
  
  Kernel mode and User mode
&lt;/h3&gt;

&lt;p&gt;Kernel mode handle every hardware related work and this is only thing that manage hardware. User mode is just showing us to running programs like right now you are in User mode, you never touch any hardware related things.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Kernel's 4 Jobs
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Process Management - Kernel manage every running process.&lt;/li&gt;
&lt;li&gt;Memory Management - Kernel decides which process get how much memory.&lt;/li&gt;
&lt;li&gt;Device Drivers - This is important job of kernel to manage devices(hardware, virtual).&lt;/li&gt;
&lt;li&gt;System Calls - A system call is a how a program asks the kernel to do something fot it.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Users
&lt;/h3&gt;

&lt;p&gt;Users are very important part of the OS bcz it create wall of processes and a single server can manage multiple users.&lt;/p&gt;

&lt;h3&gt;
  
  
  UID
&lt;/h3&gt;

&lt;p&gt;Every user gets a UID so the kernel identify the user.&lt;/p&gt;

&lt;h3&gt;
  
  
  root
&lt;/h3&gt;

&lt;p&gt;This is the BOSS of the system he can do anything in the system without any confirmation model and one more thing the root can do anything but it doesn't mean root have kernel mode this is steel in the user mode.&lt;/p&gt;

&lt;h3&gt;
  
  
  Groups
&lt;/h3&gt;

&lt;p&gt;Every user have a group and we can manage the permissions on the group so we easily add/remove users from group.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shell &amp;amp; Basic Commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What the shell actually is
&lt;/h3&gt;

&lt;p&gt;The shell is a program where we run commands. shell is a interface between kernel and users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Commands Structure
&lt;/h3&gt;

&lt;p&gt;program + options + argument. ls -l /home&lt;br&gt;
ls - program&lt;br&gt;
-l - option&lt;br&gt;
/home - argument&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Commands
&lt;/h2&gt;

&lt;p&gt;ls - list the data(files &amp;amp; Directories)&lt;br&gt;
cat - View the inside file&lt;br&gt;
echo - print something&lt;br&gt;
touch - create a file&lt;br&gt;
cp - copy anything&lt;br&gt;
mv - move anything&lt;br&gt;
rm - remove anything(you only remove files &amp;amp; directories that access you have)&lt;/p&gt;

&lt;h3&gt;
  
  
  Navigation
&lt;/h3&gt;

&lt;p&gt;pwd - present working directory &lt;br&gt;
cd - change directory&lt;br&gt;
mkdir - create directory&lt;br&gt;
rmdir - remove empty directory&lt;/p&gt;

&lt;h3&gt;
  
  
  Absolute &amp;amp; Relative Path
&lt;/h3&gt;

&lt;p&gt;Absolute path mean full path of the file for example:- /home/user/directory/test.txt&lt;/p&gt;

&lt;p&gt;Relative path mean only current folder path for example:- directory/test.txt&lt;/p&gt;

&lt;h3&gt;
  
  
  Wildcards(globbing)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;- ls *.txt(now * mean find only .txt files)
? - ls filen?ame.txt(it mean now the ? find only one single letter)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Intermediate Commands
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Searching/Viewing
&lt;/h3&gt;

&lt;p&gt;grep - this cmds grep the exact line what we want(grep "findme" file.txt). -i(case insensitive) and -v(this exclude lines that containing findme) is options of this cmd.&lt;br&gt;
sort - sort lines alphabetically.&lt;br&gt;
head - bydefault print 10 top lines(head filename.txt)&lt;br&gt;
tail - bydefault print 10 bottom lines(tail filename.txt)&lt;br&gt;
less - not print everything in single time it wait for your keys(up, down, q etc.)&lt;/p&gt;

&lt;h3&gt;
  
  
  Finding/inspecting
&lt;/h3&gt;

&lt;p&gt;find - this find in the subfolders also(but ls find only on the current directory)&lt;br&gt;
locate - quickly find files and direcotries&lt;br&gt;
diff - check differences between two files&lt;br&gt;
file - details of any file&lt;/p&gt;

&lt;h2&gt;
  
  
  Variables &amp;amp; PATH
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Shell Variables &amp;amp; Environment Variables
&lt;/h3&gt;

&lt;p&gt;Shell variable are the private variables of the shell we can't use them in child programs but environment variable can do but before it we need to export that.&lt;/p&gt;

&lt;h3&gt;
  
  
  How shell finds commands
&lt;/h3&gt;

&lt;p&gt;shell find cmds on the $PATH not in the whole system if sometime the program is installed but the shell throe error like (command not find) it mean that cmd is not in the $PATH&lt;/p&gt;

&lt;h2&gt;
  
  
  Editing, Help, Input/Output &amp;amp; Errors
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Editing in the terminal
&lt;/h3&gt;

&lt;p&gt;vi, vim, nano, these are the terminal editors.(vim filename.txt)&lt;br&gt;
Getting Help: man, man -k, --help. (-k mean search keyword)&lt;br&gt;
Redirection &amp;amp; Pipes: &amp;gt;(&amp;gt; mean overwrite the content), &amp;gt;&amp;gt;(&amp;gt;&amp;gt; mean append the text), | (| mean get output preview cmd)&lt;/p&gt;

&lt;h2&gt;
  
  
  Processes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is process
&lt;/h3&gt;

&lt;p&gt;Process is a running instance of the program and every process have a PID(we can kill the process by their PID)&lt;/p&gt;

&lt;h3&gt;
  
  
  Process Commands
&lt;/h3&gt;

&lt;p&gt;ps: Show running Processes&lt;br&gt;
ps aux: Show running processes with details&lt;br&gt;
kill : kill process by their PID&lt;br&gt;
kill -9 : forcefully kill the process&lt;br&gt;
cmd &amp;amp;: &amp;amp; used for run process in background&lt;br&gt;
ctrl c: stop running process from screen that running right now on screen&lt;/p&gt;

&lt;h2&gt;
  
  
  File Permissions
&lt;/h2&gt;

&lt;p&gt;When we run the ls -l command you see something like this:-&lt;br&gt;
-rwx-w-rw- 1 username groupname so on....&lt;br&gt;
Breakdown of this:-&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;-&amp;gt; -(hyphen) mean this is a file
rwx - r stand for read, w stand for write, x stand for execute.
first 3 letter for owner, then 3 letter for group, and last three letter for others(other users).
in our output(-rwx-w-rw-) you see -(hyphen) it mean this is file. then you see rwx it mean owner have read,write,execute permission. then you see (-w-) it mean group have only write permission not read not execute. and last 3(rw-) it mean others have read and write permission not execute.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Change the permission
&lt;/h3&gt;

&lt;p&gt;chmod - it mean change mode so you can change the permissions like chmod 747. each permission have a number:-&lt;br&gt;
read - 4&lt;br&gt;
write - 2&lt;br&gt;
execute - 1&lt;br&gt;
if we want read(4) and write(2) permission to owner just run this command chmod 600. 00 mean no permission to group and other.&lt;br&gt;
and we use something like chmod u+x, u+r. it mean please add execute and read permission for user(owner).&lt;/p&gt;

&lt;h3&gt;
  
  
  Symbolic Links
&lt;/h3&gt;

&lt;p&gt;Symbolic link just like shortcut in window and alias in mac.&lt;br&gt;
Commands for linux:-&lt;br&gt;
ln -s target linkname&lt;br&gt;
the -s stand for symbolic link OR soft link.&lt;/p&gt;

&lt;h2&gt;
  
  
  Archiving
&lt;/h2&gt;

&lt;h3&gt;
  
  
  tar command
&lt;/h3&gt;

&lt;p&gt;tar mean bundle of the files &amp;amp; directories.&lt;br&gt;
if you want to create a bundle just run this cmd:- tar -czf filename.tar yourstuffs&lt;br&gt;
Options of the cmd:-&lt;br&gt;
-czf - mean create&lt;br&gt;
-tzf - mean show the list inside bundle&lt;br&gt;
-xzf - mean extract the bundle&lt;/p&gt;

&lt;h3&gt;
  
  
  gzip command
&lt;/h3&gt;

&lt;p&gt;gzip mean compress the file size of the bundle. it only used for create bundle + compress the size. &lt;br&gt;
.tar.gz&lt;/p&gt;

&lt;h2&gt;
  
  
  Filesystem in Linux
&lt;/h2&gt;

&lt;p&gt;In linux root you see this directories:-&lt;br&gt;
etc, home, var, usr, tmp etc.&lt;/p&gt;

&lt;h3&gt;
  
  
  etc
&lt;/h3&gt;

&lt;p&gt;This directory have only configuration related data.&lt;/p&gt;

&lt;h3&gt;
  
  
  home
&lt;/h3&gt;

&lt;p&gt;This is only for users. how many users with there personal data.&lt;/p&gt;

&lt;h3&gt;
  
  
  var
&lt;/h3&gt;

&lt;p&gt;This directory for the logs of the system and logs are inside /var/log&lt;/p&gt;

&lt;h3&gt;
  
  
  usr
&lt;/h3&gt;

&lt;p&gt;This directory have most installed programs and /usr/bin have linux commands.&lt;/p&gt;

&lt;h3&gt;
  
  
  tmp
&lt;/h3&gt;

&lt;p&gt;This directory have temporary data as it name.&lt;/p&gt;

&lt;h2&gt;
  
  
  Running Commands as super user(sudo)
&lt;/h2&gt;

&lt;p&gt;Every linux user should know about this topic. coz it is very important to know. in linux you can't delete,view,run anything without permission and every user have permissions to what to do or not. some users have sudo access it mean they can install, delete anything in system without any permission bcz they have root access sudo stand for super user.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My First CI/CD Pipeline with YAML and Docker on AWS</title>
      <dc:creator>Dharamraj Yadav</dc:creator>
      <pubDate>Tue, 17 Mar 2026 13:41:32 +0000</pubDate>
      <link>https://dev.to/dharam_in/my-first-cicd-pipeline-with-yaml-and-docker-on-aws-1glh</link>
      <guid>https://dev.to/dharam_in/my-first-cicd-pipeline-with-yaml-and-docker-on-aws-1glh</guid>
      <description>&lt;p&gt;Hello everyone, today I want to share how I added my first CI/CD pipeline using YAML and Docker on AWS. First, I forked a React project on my GitHub because I didn’t want to waste time setting up React and adding a very simple app, so I decided to fork a project. Then I cloned that repository and added &lt;code&gt;.dockerignore&lt;/code&gt; and &lt;code&gt;Dockerfile&lt;/code&gt; files in my project’s root directory, and this is the code you can see in the screenshots:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Frngm3wsoruez4kkezexn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Frngm3wsoruez4kkezexn.png" alt=" " width="800" height="139"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, I created an EC2 instance to run my project and installed Docker. I added my Ubuntu user to Docker because Docker runs as root and the Ubuntu user doesn’t have access to that, so I added the user to the Docker group. Look at the screenshot I attached:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fxy7nhm41zcuw6jqoni99.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fxy7nhm41zcuw6jqoni99.png" alt=" " width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, I worked on the YAML for CI/CD. I created a &lt;code&gt;.github&lt;/code&gt; folder in the root directory of my project, then created another folder called &lt;code&gt;workflows&lt;/code&gt;, and in this folder I created a &lt;code&gt;deploy.yml&lt;/code&gt; file. In this file, first I added the project name, after that I added &lt;code&gt;on&lt;/code&gt; for when I push code to the main branch, then it triggers the action, and in the last I added my jobs. First, I used Ubuntu, then I checked out the code in that Ubuntu machine. After that, I copied this code to my EC2 machine, then SSH into my Ubuntu machine, then cd into my project, stop the running Docker container, build a new one, and run it. When I pushed the code, I saw my project was still not running, then I added an inbound rule in my EC2 machine because by default EC2 blocks other access points, so I added an inbound rule so everyone can access it.&lt;/p&gt;

&lt;p&gt;Look at the YAML code screenshot and running project screenshot:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fxg76s8q2sdmg23mwcdgo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fxg76s8q2sdmg23mwcdgo.png" alt=" " width="800" height="337"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fw8wu9g3vupjj0yaq3gbt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fw8wu9g3vupjj0yaq3gbt.png" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>actionshackathon</category>
      <category>aws</category>
      <category>cicd</category>
    </item>
    <item>
      <title>Learning Docker: Dockerfiles, .dockerignore, and Port Mapping 🐳</title>
      <dc:creator>Dharamraj Yadav</dc:creator>
      <pubDate>Sat, 07 Mar 2026 10:56:14 +0000</pubDate>
      <link>https://dev.to/dharam_in/learning-docker-dockerfiles-dockerignore-and-port-mapping-1g2n</link>
      <guid>https://dev.to/dharam_in/learning-docker-dockerfiles-dockerignore-and-port-mapping-1g2n</guid>
      <description>&lt;p&gt;Hey everyone! Here’s a quick update on what I learned last week. I finally got hands-on with two essential Docker files: the &lt;code&gt;Dockerfile&lt;/code&gt; and &lt;code&gt;.dockerignore&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;First up, let's talk about the &lt;code&gt;.dockerignore&lt;/code&gt; file. If you've used Git, this works exactly like &lt;code&gt;.gitignore&lt;/code&gt;. When we build an image, this file prevents Docker from copying over unnecessary files and folders, which helps keep our final image clean and lightweight.&lt;br&gt;
Here is my setup:&lt;br&gt;
&lt;a href="https://media2.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%2Ffs6pwfi6e1bjhn77c9cl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Ffs6pwfi6e1bjhn77c9cl.png" alt=" " width="" height=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next, I created the &lt;code&gt;Dockerfile&lt;/code&gt;. This is basically the instruction manual for your project. We write down all the necessary commands in here, and Docker uses this file as the blueprint to build our custom image.&lt;br&gt;
Take a look at the code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2F28rlk7gs5kprpii59p7g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2F28rlk7gs5kprpii59p7g.png" alt=" " width="800" height="295"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After building the image, it was time to run it. This is where I learned how &lt;strong&gt;port mapping&lt;/strong&gt; works. Port mapping is simply telling the Docker container, "Hey, forward your internal project port to this specific port on my local system."&lt;/p&gt;

&lt;p&gt;In my setup below, I mapped the ports so my project runs on port &lt;code&gt;5173&lt;/code&gt; inside the container's terminal, but I can actually access it in my local browser using port &lt;code&gt;3200&lt;/code&gt;.&lt;br&gt;
Check out the terminal and browser screenshots:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fm714g8jdt4k2qsyyjjmn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fm714g8jdt4k2qsyyjjmn.png" alt=" " width="800" height="95"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.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%2Fgkqicpp4ifivogmop9m4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.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%2Fgkqicpp4ifivogmop9m4.png" alt=" " width="800" height="423"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>webdev</category>
      <category>programming</category>
      <category>containers</category>
    </item>
    <item>
      <title>Getting Started with Docker: Images, Containers, Volumes, and Networks 🐳</title>
      <dc:creator>Dharamraj Yadav</dc:creator>
      <pubDate>Tue, 24 Feb 2026 11:15:43 +0000</pubDate>
      <link>https://dev.to/dharam_in/getting-started-with-docker-images-containers-volumes-and-networks-2gcn</link>
      <guid>https://dev.to/dharam_in/getting-started-with-docker-images-containers-volumes-and-networks-2gcn</guid>
      <description>&lt;p&gt;Hello Everyone as part of my journey transitioning to DevSecOps, today i dove into Docker.&lt;/p&gt;

&lt;p&gt;In simple terms Docker is a software platform that allows you to build, test and deploy your applications quickly. Today i learned about four core concept of Docker, and i want to share my understanding with you all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Docker Images (The Blueprint)&lt;/strong&gt;&lt;br&gt;
An image is basically the blueprint for a container.We create this blueprint by writing some instructions inside a file called a &lt;strong&gt;&lt;em&gt;Dockerfile&lt;/em&gt;&lt;/strong&gt;. it contains everything your application needs to run - the code, runtime, libraries, and environment variables.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Docker Container (The Running App)&lt;/strong&gt;&lt;br&gt;
If an image is a blueprint, then a container is the actual building. A container is simply the running instance of a Docker Image. You can start, stop, or delete a container anytime without affecting the original image.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Docker Volume (Permanent Storage)&lt;/strong&gt;&lt;br&gt;
By default, data inside the container temporary. this is where a volume come in. Volumes provide permanent storage for your container's data by saving it directly to your hard drive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real World Example:&lt;/strong&gt; Suppose we host a database(like mongoDB) inside a container, and we have 1,000 users registered. if we delete or restart the container, all the users data will be lost. To prevent this we use a volume to safety store that database information permanently on the host machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Docker Network (The Communication Bridge)&lt;/strong&gt;&lt;br&gt;
When we create and run multiple containers at the same time, they are completely isolated from each other by default for security.&lt;br&gt;
However in real applications, they need to communicate. For example if i have a Node.js backend running in one container and a database in another container, they need to talk each other. We Use Docker Networks to create a secure connection between these isolated containers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;My Journey Continues&lt;/strong&gt;&lt;br&gt;
Understanding these four concepts completely changed how I look at deployments. No more "&lt;em&gt;It work's on my machine&lt;/em&gt;".&lt;/p&gt;

</description>
      <category>docker</category>
      <category>containers</category>
      <category>beginners</category>
      <category>devops</category>
    </item>
    <item>
      <title>Hello World: My Journey from MERN Stack to DevSecOps 🚀</title>
      <dc:creator>Dharamraj Yadav</dc:creator>
      <pubDate>Sat, 21 Feb 2026 04:13:32 +0000</pubDate>
      <link>https://dev.to/dharam_in/hello-world-my-journey-from-mern-stack-to-devsecops-127m</link>
      <guid>https://dev.to/dharam_in/hello-world-my-journey-from-mern-stack-to-devsecops-127m</guid>
      <description>&lt;p&gt;Hello everyone!&lt;/p&gt;

&lt;p&gt;My name is Dharamraj Yadav, and this is my first post on this platform. I am currently working as a MERN Stack Developer, where I build web applications and craft APIs using Node.js. I have gained solid experience working across the MERN stack.&lt;/p&gt;

&lt;p&gt;Recently, I’ve been observing my seniors handle server management, specifically focusing on reducing AWS infrastructure costs. Watching them work over the last three months really inspired me. I realized that with a bit of effort, I have the confidence to learn these new concepts myself.&lt;/p&gt;

&lt;p&gt;So, I started using AI tools like Gemini to deeply understand how servers, deployments, and cloud infrastructure actually work.&lt;/p&gt;

&lt;p&gt;Now, I have officially decided to start my #LearnInPublic journey—transitioning from a MERN Stack Developer to DevSecOps. ⚙️🛡️&lt;/p&gt;

&lt;p&gt;Please connect with me to follow my journey, and stay tuned for more updates and learnings from the tech field!&lt;/p&gt;

&lt;h1&gt;
  
  
  DevSecOps #MERN #AWS #LearnInPublic #DevOpsJourney
&lt;/h1&gt;

</description>
      <category>devsecops</category>
      <category>devops</category>
      <category>aws</category>
      <category>mern</category>
    </item>
  </channel>
</rss>
