☑️Day 22: Diving Into Docker🚀

☑️Day 22: Diving Into Docker🚀

🔹Table of Contents :

  • ✅Introduction to Docker

  • ✅Real-Time Scenario: Why Docker?

  • ✅Example Scenario: Consistent Project Setup

  • ✅Basic Docker Commands

    • Installing Docker

    • Checking and Managing Docker Status

    • Pulling and Managing Docker Images

    • Removing Docker Images (By Name and ID)

    • Forcefully Removing Images

    • Saving and Loading Docker Images

    • Inspecting Docker Images

  • ✅Key Takeaways: Why Docker is Essential for Developers


✅1.Introduction

Today, I explored Docker, a revolutionary platform that helps developers build, share, and run applications using containers. Containers solve many of the common issues developers face with different environments and version mismatches, especially over the long term. Let’s dive into how Docker works, its real-world use cases, and some basic commands to get started.


✅2.Real-Time Scenario: Why Docker?

Let’s look at a typical scenario to understand the importance of Docker:

  • Dev1: Started working on a project using specific frameworks and libraries.

  • Dev2: Joins the same project after two years.

At this point, many libraries and frameworks might have received updates, and older code may not work properly due to version mismatches. The project might break, and Dev2 would need to spend hours figuring out what went wrong.

Solution: Docker

With Docker, everything related to a project (code, runtime, system tools, libraries, and settings) is packaged into a container. This ensures that even after several years, the project runs with the exact same setup, without any issues.


✅3.Example Scenario: Consistent Project Setup

Let’s say your project requires the following versions:

  • Node.js: 16

  • NPM: 7.2

  • React: 16.3

  • Webpack: 4

  • Jest: 23.1.0

By packaging this environment into a Docker container, even if you revisit the project after 10 years, everything will run as it did before because the versions will stay locked inside the container.


✅4.Basic Docker Commands

Here are some essential Docker commands I learned today:

  • Install Docker:
    Download and install Docker using the following command:

      curl -fsSL https://get.docker.com -o get-docker.sh
    
  • Check the Downloaded Script:

      ls get-docker.sh
    
  • Run the Installation Script:

      sh get-docker.sh
    
  • Check Docker Status:
    To see if Docker is running:

      systemctl status docker
    

    Start Docker:
    If Docker is not running, start it with:

      systemctl start docker
    
  • Enable Docker at Boot:
    Make Docker start automatically after a reboot:

      systemctl enable docker
    
  • Pull an Image:
    To download a specific image (like Ubuntu), use:

      docker pull ubuntu:latest
    
  • List Docker Images:
    See all Docker images on your system:

      docker image ls
    
  • Remove a Docker Image by Name:
    If you want to delete an image:

      docker image rm ubuntu
    
  • Remove a Docker Image by ID:
    Use the ID of an image to remove it:

      docker image rm <image_id>
    
  • Forcefully Remove an Image:
    If the image is in use, you can forcefully remove it:

      docker image rm -f <image_id>
    
  • Save a Docker Image:
    Save the image to a file:

      docker image save -o my_image.tar <image_name>
    
  • Load a Saved Docker Image:
    Load the image back from a file:

      docker image load -i my_image.tar
    

Inspect a Docker Image:
View detailed information about an image:

docker image inspect <image_name>

✅5.Key Takeaways

Docker ensures that developers can work on projects seamlessly across different environments, even over long periods. It solves the problem of version mismatches by encapsulating everything into a container. This way, you can confidently run your project in the future, knowing it will behave exactly the same as when it was first created.


🚀Thanks for joining me on Day 22! Let’s keep learning and growing together!

Happy Learning! 😊

#90DaysOfDevOps

#Docker #DevOps #Containers #ContinuousLearning #ProjectConsistency #Automation #DeveloperTools #Day22

💡
Follow for more updates on LinkedIn , Github and Twitter(X)