Under Improvement
Note that this repo is under improvement, so take a pomegranate and have a nice day.
You can contribute; check the steps.
Base Image
and the Differencing Disk
in virtual machines.
There is a lot of talk about virtualization, but here we will talk about hardware virtualization.
Hardware Virtualization: This involves creating virtual machines (VMs) that emulate a complete hardware environment, including:
We can do this by adding another layer, which is called a hypervisor
.
software
or firmware
that creates and manages VMs. It allows multiple operating systems to share a single hardware host.Check out the figure for more explanation.
Safaret News Magazine will answer how hardware virtualization solved the issues that we faced before, and the challenges it seeks to solve.
Base Image
and the Differencing Disk
in virtual machinesBefore we talk about containers, let's review an important concept from the virtual machine, which is the Base Image and the Differencing Disk.
by assuming that
Base Image
and the Differencing Disk
in virtual machines is here in the containers.namespaces
and cgroups
.
Namespaces
and cgroups
are two important Linux kernel features that provide mechanisms for isolating and controlling processes and resources.
namespaces
are used to provide process isolation and create lightweight containers, while cgroups
are used to control resource allocation and limits for those containers. This combination allows you to run multiple isolated environments on a single host machine, each with its own set of processes and resource constraints.
RUN CONTAINER
, then opens proc_2, which is OS specification
, and each process will open the next one. Linux Kernal considers all of these processes as a single process. and using the namespaces
technique to isolate all these processes from all operating system.[!TIP] Look here for more explanation on namespaces and cgroups: cgroups&Namespaces;
Docker
is perhaps the most well-known container platform. So this repo will take a closer look into Docker.
[!NOTE] In the documentation in the repository of the installer script, they mention:
The purpose of the install script is for a convenience for quickly installing the latest Docker-CE releases on the supported linux distros. It is not recommended to depend on this script for deployment to production systems. For more thorough instructions for installing on the supported distros, see the install instructions.
docker info
.sudo usermod -aG docker $USER
containerd + runc
loosely coupled architecture
.
daemonless containers
upgrades
or restarts
on the Docker daemon without affecting the running containers managed by the container runtime.git clone https://github.com/Mohamed-abdalazez/DockerInDeep.git
cd DockerInDeep
git checkout -b feature-branch
git remote add upstream https://github.com/Mohamed-abdalazez/DockerInDeep.git
figure.png
in the assets
folder.figure.excalidraw
in the excalidraw
folder.figure.png
and figure.excalidraw
with the topic name, keeping it as short as possible.git add .
git commit -m "Added: new topic"
git push --set-upstream origin your-branch-name