by Adil Raqioui

Docker in itself?

Docker helps us run our applications in isolated environments known as containers.

Container == Isolated environment

Container Runtime:

A container runtime allows us to start, stop, and create containers. For more information, check out the link below:

What are Container Runtimes

Engine/Daemon:

The Docker Engine, also known as the Daemon, is the server installed locally on your machine. It receives commands from the Docker CLI (Command Line Interface) using a REST API to communicate between the client and the server.

Orchestration:

When you have multiple containers, orchestration tools like Kubernetes come into play. They help manage and organize your containers, allowing you to perform tasks like updating container versions across all instances at once.

Screen Shot 2023-12-09 at 3.21.22 PM.png

Docker Components:

Screen Shot 2023-12-31 at 2.40.13 PM.png

Docker CLI (High-level Container Runtime)

Rest API

Docker Daemon (Includes Low-Level Container Runtime)

Difference between High and Low-level container runtimes:

Both high-level and low-level container runtimes can create and manage containers, but their approach differs. The high-level runtime manages the complete container lifecycle, handling tasks like container creation, management, and orchestration in a more user-friendly manner.

On the other hand, the low-level runtime operates behind the scenes, doing the heavy lifting for Docker. It handles the more complex processes such as starting and deleting containers and powers the functionality of the high-level runtime.

This video is a great one

Dockerfile, image, and container:

β†’ Dockerfile contains instructions (ingredientsπŸ˜…) to create an Image, and It’s used at the building part, But here each instruction is called a layer:

DOCKERFILE:

Screen Shot 2023-12-31 at 5.27.15 PM.png

Image building:

Screen Shot 2023-12-31 at 5.27.36 PM.png