Welcome to Kubernetes Training
On
Docker Containers
By
Raghu K.
What are Containers
Physical
Machines
Virtual
Machines
Containers
Characterstics | Physical | Virtual | Containers |
---|---|---|---|
Resource Allocation to Application | GOOD | OK | GOOD |
Security | GOOD | GOOD | OK (GOOD) |
Resource Optimization | GOOD | OK | GOOD |
High Availability | BAD | GOOD | GOOD |
Cost Optimization | BAD | GOOD | GOOD |
Reliability | BAD | GOOD | GOOD |
Quick provisioning | BAD | OK | GOOD |
Performance | GOOD | BAD | GOOD |
Containers
-
Containers are simple and allow you to provision your application in any environment on the best simple way.
- Containers are packages that reply on Virtual isolation to deploy and run applications that access a shared operating system (Kernel) without a need of a Virtual Machine.
- So due that Containers can run quickly independently and reliably in any computing environment includes Local Desktop, Physical Data Centers, Public and Private Cloud infrastructures.
- Each container has a container image which is standalone, a lightweight executable package that includes all the essentials to run the containerized application. This package usually includes the application run_time, System Tools and System Libraries.
- This echo system (Imaging, Software to run Container, Utilities to Manage Container) of these containers are provided by different vendors like Docker, LXD, OpenVZ, RKT, Windows Containers, Hyper-V Containers.
- On general Containers are thin where as VM is too fat.
- So far containers looks good by reviewing all the properties. But now we should be in a position to understand which one has to be chosen.
- Out of all the Container run times Docker, RKT and LXD are more stabilized and widely used.
- But before deciding which we need to understand a little more of run_time.
Container Runtime
- Containers run from packages, So any specific tool usually will have components like how to make images, way to manage them. run the containers and manage the containers. So all these features may not be a piece of software and those can be individual components usually.
- Such monolithic applications have different components and one of them is ”Container runtime” to run the containers and OCI(Open) to deal with packaging.
- Container Runtimes can be distinguished as two based on the the features it offers.
- Low-Level Runtime
- High-Level Runtime
- Actual containers that focus on just running containers are usually referred to as “Low-Level Container Runtime”
- Runtimes that support more high-level features like image management and Web API’s are referred as “High-Level Container Runtimes”
- Typically developers who want to run the apps in containers will need just more than running containers like API features and image management as well.
- So low-level container runtime concentrate on running a container, meanwhile high-level container run time are responsible for Transoft and management of container images, unpacking the image and pushing off the information to low-level container runtime to run the containers.
- Docker uses containerd and as per the last slide diagram, it has more features and flexibility as a tool that runs the container. The approach of the Docker Imaging and Container Runtime makes the UX better and hence it is the reason behind making the Docker as more using tool in the market.
Why Docker
Too Many Docker Servers, How do you Manage?
You need Orchestrator
Who is Orchestrator
Other Orchestrators
- OpenShift
- Mesos
- Swarm
- Helios
Why Kubernetes
Docker Containers
Kubernetes Cluster
Helm Charts
Services Offered
- Project Delivery
- Recorded Videos
- Slack Support
Questions ?
Thank You.
Welcome to Kubernetes Training
By Raghu K
Welcome to Kubernetes Training
- 1,728