Introduction to Docker

Photo by Ian Taylor on Unsplash

Introduction to Docker

Table of Contents

  1. What is an Application?

  2. Application Tech Stack

  3. Application Architecture

  4. Life without Docker

  5. Life with Docker

  6. What is Docker

  7. What is Virtualization?

  8. What is Containerization?

  9. Docker Architecture

  10. Virtualization

  11. Containerization

  12. Conclusion


What is an Application?

An application is a collection of programs that consists of three layers:

  • Frontend (UI): Angular, React JS, Vue JS

  • Backend (Business Logic): Java, .Net, Python, Node JS, PHP

  • Database: Oracle, MySQL, Postgres, SQL Server, Mongo DB

Application Tech Stack

Applications have multiple environments for testing purposes:

  • DEV Environment: Developer Testing

  • SIT Environment: Testing Team (QA) - System Integration

  • UAT Environment: Client Side Testing - User Acceptance Testing

  • PILOT Environment (Pre-Production): Testing with Live Data

Application Architecture

The application architecture consists of three layers:

  • Frontend (UI)

  • Backend (Business Logic)

  • Database

Life without Docker

Without Docker, challenges arise due to software installations, version mismatches, and maintaining consistency across different environments.

Life with Docker

Docker is a containerization platform that simplifies application deployment by packaging applications and their dependencies into containers.

What is Docker

Docker is a containerization software that builds and deploys applications along with their dependencies, bridging the gap between development and deployment.

What is Virtualization?

Virtualization involves installing multiple guest operating systems within a host operating system using hypervisor software. Each guest OS requires its own set of software.

What is Containerization?

Containerization packages software and application code into a single container for execution, making deployment consistent and manageable.

Docker Architecture

Docker architecture includes components like Dockerfile, Docker Image, Docker Registry, and Docker Container. Docker containers contain runtime processes for applications.

Virtualization

Virtualization involves creating multiple guest operating systems within one host operating system. It requires installing all required software for each guest OS.

Containerization

Containerization packages all software and application code into a single container. Containers include everything needed to run an application, making it easy to deploy consistently.

Conclusion

Docker simplifies application deployment by handling dependencies. It's a containerization software that bridges the gap between development and deployment.