https://github.com/Lagnajit09/Docker-Learning

Docker documentation: https://github.com/Lagnajit09/Docker-Learning/blob/master/docker-guide.pdf

What is Docker?

Docker is an open-source platform that enables developers to automate the deployment of applications inside lightweight, portable containers. These containers include everything needed to run an application, such as the code, runtime, libraries, and dependencies, ensuring that it runs consistently across different environments.

docker-mark-blue.svg

Why Use Docker?

  1. Portability: Docker containers can run on any system that supports Docker, whether it's your local machine, a cloud server, or a virtual machine.
  2. Consistency: With Docker, you can ensure that your application behaves the same in development, testing, and production environments.
  3. Efficiency: Docker containers are lightweight and share the host system's kernel, making them more efficient than traditional virtual machines.
  4. Isolation: Each container runs in its own isolated environment, preventing conflicts between applications and ensuring better security.

Key Concepts in Docker

  1. Images: Immutable snapshots of an application and its environment. Images are used to create containers.
  2. Containers: Running instances of images. Containers can be started, stopped, moved, and deleted.
  3. Dockerfile: A script containing instructions on how to build a Docker image.
  4. Docker Hub: A cloud-based registry where you can find and share Docker images.

Installing Docker

Docker can be installed on various operating systems, including Windows, macOS, and Linux. Here's a brief overview of the installation process for each:

  1. Windows:

  2. macOS:

  3. Linux:

    Verify the installation by running docker --version in the terminal.