What are docker images specifically ?
They are just tar files , with a json file , this combination makes a image bundle .
Docker engine consumes this image bundle , even all other container engines like podman,RKT , etc . use the same .
But how do all of them consume the same image bundle ?
It is because they have been formed using the same OCI Image Specification .
Because of OCI image specifications , we can achieve three things to some extent .
Registries are fancy file servers that helps us collaborate .
Example : docker hub, gitlab ,quay etc.
Now we can discuss about the host which pulls and runs these images , it is known as container host .
It has three layes :
Container Engine (ex- dockerd which provides the cli or api that can run containers)
Container Runtime (it needs filesystem and specifications or metadata that guides it on using host resources)
How to make these pieces serve content to the end users or clients or APIs in a away that it is highly available and fault tolerant is done by docker swarm , kubernetes K8s ,docker -compose etc etc . , these are known as orchestration tools .
K8s is the most popular one .
Each of these have an entire sea of products based on them that enterprises can leverage.
This entire ecosystem can be used to build your business facing or internal applications and websites , these are lot of good resources on the internet free and paid which can help you to understand these .
The purpose of writing this is to provide a very basic overview of how this is meaningful for a newbie to understand it before taking a deep dive .