Day15 of #90DaysOfDevOps Challenge: Introduction to Docker: A Beginner's Guide

Kunal SalveKunal Salve
3 min read

Here we are on Day15 of 90DaysofDevOps and we have already covered a wide range of topics.

Today, we're diving into the basics of Docker, an amazing platform that's changed how developers build, ship, and run applications. Docker lets you bundle an application and its dependencies into a neat package called a container, which can run smoothly across different computing environments.


What is Docker?

Docker is an open-source platform that makes it super easy to deploy, scale, and manage applications using containerization. It lets developers bundle applications and their dependencies into a neat package called a container.

Imagine a container as a lightweight, standalone, and ready-to-run package that has everything your software needs—code, runtime, libraries, and configurations.

Why Use Docker?

  1. Consistency Across Environments: With Docker containers, your app will work the same way in development, testing, and production, solving the "it works on my machine" issue.

  2. Efficiency and Speed: Containers are lightweight and share the host system's kernel, so they start up almost instantly and use fewer resources than traditional virtual machines.

  3. Scalability: Docker makes it a breeze to scale your applications. You can easily create multiple container instances across different servers, which is perfect for a microservices setup.

  4. Isolation: Containers give your applications their own space, preventing conflicts with other software running on the same system.

Docker Components

Docker is made up of several key components that allow it to function smoothly:

  1. Docker Engine: This is the heart of Docker, responsible for creating and managing containers.

  2. Docker Images: These are read-only templates that have everything your app needs. You use images to create Docker containers.

  3. Docker Containers: Think of these as the running versions of Docker images. They have all the essentials to run your app, like code, dependencies, and environment settings.

How to Install Docker

Install Docker Desktop for Windows:

  • Go to the Docker Desktop for Windows download page.

  • Follow the instructions to complete the installation

  • Start Docker Desktop:

    • Once installed, open Docker Desktop from the Start menu.

    • Docker should now be running. You can verify the installation by running:

        docker --version
      

Installing Docker on Linux (Ubuntu)

Update Existing Packages:

sudo apt-get update
sudo apt-get install docker.io

Verify Installation:

docker --version

Installing Docker on macOS

Download Docker Desktop:

Go to the Docker Desktop for Mac download page.

Download the .dmg file.

Follow the instructions to complete the installation

Verify Installation:

Open a terminal and run:

docker --version

Basic Docker Commands

Here are some commonly used Docker commands

  1. docker --ver``sion: Check your Docker installation.

  2. docker pull <image>: Download a Docker image from Docker Hub.

  3. docker build -t <image_name> .: Build a Docker image using a Dockerfile in the current directory.

  4. docker run -d -p <host_port>:<container_port> <image_name>: Run a container in detached mode and map the host port to the container port.

  5. docker ps: List running containers.

  6. docker stop <container_id>: Stop a running container.

  7. docker remove <container_id>: To remove the container.

  8. docker exec -it <container_id> bash: Access the shell of a running container.


We're about to dive deeper into the world of Docker, exploring its details and learning how it can be used for efficient software development and deployment.

Stay tuned for an exciting journey into Docker's features, best practices, and advanced techniques that will enhance your skills in managing and deploying applications with ease.

Keep an eye out for my upcoming detailed guides!

Happy Learning!🚀

1
Subscribe to my newsletter

Read articles from Kunal Salve directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kunal Salve
Kunal Salve