In this video, you will learn about containers.
A container is a way to run an application in full isolation.
And the foundation of a container is a container image.
This is a ready-to-run package that contains all the dependencies to run the application.
So you just need the image and nothing else.
Container images are typically obtained from a container registry, such as hub.docker.com
or quay.io, or alternatively, even your private registry.
Container images are highly standardized.
Behind it is the OCI, the Open Container Initiative.
And that means that images work with multiple container solutions, and it doesn't matter
which one you are using.
And the benefit of running containers, well, there are many.
One is that you don't have to install the container.
You just run it on any platform that has a required container runtime.
The fun thing is that because these container images are so highly standardized, you can
run the same container images on your local container stack, like Docker or Podman, or
even in Kubernetes.
Containers comfort of the Linux operating system.
And behind containers are many Linux technologies.
These include namespaces to provide isolation between users, processes, filesystem mounts,
and more.
And cgroups provide resource allocation to ensure that the container does not have access
to all the resources provided on the host operating system.
So you can limit the amount of memory that your containerized application has, and it
can never consume all of the memory.
And mandatory access control, like SCLinux, can be added to further secure the container.
To run a container, you need a container runtime.
And common container runtimes are available for all current operating system platforms.
You'll learn more about them in the next video.