Skip to main content

Containers

To know about container importance,we need to know about virtual machine.

Virtual Machine :
        Virtual machine help us to run other operating system in host operating system.

Uses of Virtual machine
  • Malware Analysis - Without infecting the host machine we can able to analysis how the malware in virtual machine
  • Huge software project require lot of dependency and lot of configuration. so they bundle everything in a container and transfer through virtual machine
  • In serving different server ( hosting company )
  • Virtual lab - For learning
what's wrong with virtual machine?
  • Virtual machine is awesome but it take more resource which cannot afford by more people. 
  •  Not good as host machine when accessing hardware ( In Mac you cannot able to access wifi from virtual machine)

Containers?
  • Container provide operating system level virtualization there by we can able to run multiple isolated environment in same host system.
  • It provides a virtual environment that has its own CPU, memory, block I/O, network.
Building blocks of containers
  • Namespaces - provides isolation
  • cgroups - access the limits of the cpu,memory,network.
  • copy-on-write storage - duplicate the data of modifiable resources
The container can be build from the above three things and chroot ( change root ) gives as the ability to switch to other environment (From one system control to other system control). To create a container you need container engine which perform the necessary steps for you and gives you a isolated environment

Container Engines
  • Docker
  • runC
  • LXC - Linux containers
  • rkt - rocket container
  • systemd-nspawn
  • OpenVZ
  • Jails/Zones
Using one of the above technology we can able to deploy a container.
Container helps many developers to deploy and transfer their configuration easily across the world.

Anything else
    Yes there is,Kubernetes
  • Helps in managing containers 
  • Kubernetes facilitates both declarative configuration and automation. 
  • It has a large, rapidly growing ecosystem. 
  • Kubernetes services, support, and tools are widely available.


Comments