Docker - modern application deployment

 Docker is an indispensable part of the modern application deployment

Docker Architecture 


Docker Architecture is the backbone of this powerful platform.

It follows a client-server model, and includes major components such as the Docker Client, Docker Host, Docker Images, Docker Containers, and Docker Registry.

Let's take a closer look:

Docker Client: The starting point of our Docker journey! 🚀

The Docker client provides a way for users to interact with Docker.

When we fire a Docker command, the Docker client sends these instructions to the Docker daemon, which carries out the requested tasks.

Docker Daemon: Taskmaster on the scene! 

The Docker daemon runs on the host machine and handles all requests from the Docker client, such as building, running, and distributing Docker containers.

Docker Images: Your application's blueprint. 

Docker Images are read-only templates that form the basis of containers.

They include all the dependencies your application needs to run effectively.

Docker Containers: Running instances of Docker images. 

A Docker container holds everything needed to run an application - the code, runtime, libraries, environment variables, and configuration files.

Docker Registry: Like a library for Docker Images! 

The Docker registry is where Docker images live.

Docker Hub is a public registry that anyone can use, but you also have the option of creating your own private registry.

The four most basic Docker commands are illustrated in the attached image -

Docker Pull

𝚍𝚘𝚌𝚔𝚎𝚛 𝚙𝚞𝚕𝚕 𝚙𝚘𝚜𝚝𝚐𝚛𝚎𝚜
• Checks if the image is already downloaded locally.
• If not, it will download the image from Docker Hub.
• Docker Hub is a public registry where Docker images are stored.

Docker Build

𝚍𝚘𝚌𝚔𝚎𝚛 𝚋𝚞𝚒𝚕𝚍 .
• Builds the current Dockerfile and creates a local image for your application.
• The Dockerfile is a text file that contains the instructions for building the image.
• Can be used to build custom images for your applications.

Docker Push

𝚍𝚘𝚌𝚔𝚎𝚛 𝚙𝚞𝚜𝚑 <𝚊𝚙𝚙𝚕𝚒𝚌𝚊𝚝𝚒𝚘𝚗 𝚒𝚖𝚊𝚐𝚎>
• Uploads the image/extension/plugin to Docker Hub.
• Can be used to share your images with others.

Docker Run

• Takes an image and runs a container from it.
• The container will run the image's executable and expose the image's ports.
• Can be used to start a web server, a database, or any other type of application.
  𝚍𝚘𝚌𝚔𝚎𝚛 𝚛𝚞𝚗 𝚗𝚐𝚒𝚗𝚡

Comments