Containers are an abstraction at the app layer that packages code and dependencies together.
In a private cloud, a single organization controls and maintains the underlying infrastructure to deliver the IT resources.
In a public cloud, external cloud providers deliver the resources as a fully managed service. For example, applications require computing resources like internal memory, data storage, and CPU.
Docker is an open-source platform used to handle software development. Its main benefit is that it packages the settings and dependencies that the software/application needs to run into a container, which allows for portability and several other advantages.
Kubernetes allows for the manual linking and orchestration of several containers, running on multiple hosts, that have been created using Docker.
Docker image registry
- A Docker image registry, in simple terms, is an area where the docker images are stored. Instead of converting the applications to containers each and every time, a developer can directly use the images stored in the registry.
- This image registry can either be public or private, and Docker hub is the most popular and famous public registry available.
Dockerfile: The contents describe how to build Docker images
docker-compose: It is used to run Docker containers based on settings described in a docker-compose.yaml file.