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,677