Jeremy’s IT Lab lecture video:

Day 54 (2) - Containers


Commands

No Commands :)


Container Info

Virtual Machines

  • VMs allow multiple OS’s to run on a single physical server.
    • The OS in each VM can be the same or different.
    • Bins/Libs are the software libraries/services needed by the apps running in each VM.
    • A VM allow its app/apps to run in an isolated environment, separate from the apps in the other VMs.
    • VMs are easy to create, delete, move and etc. They can easily saved and moved between different physical servers.

  • A Hypervisor is used to manage and allocate hardware resources to each VM.
    • A Type 1 hypervisor (aka Native or Bare-metal) is the type of hypervisor which runs directly on top of the hardware.
      • They are widely used in data center environments.
    • A Type 2 hypervisor (aka Hosted) run as a program on an operating system called a Host OS like a regular computer program.
      • They can be used to run a virtual network lab on your PC using Cisco Modeling Labs.
Type 1 Hypervisor VisualizedType 2 Hypervisor Visualized

Containers

Containers are software packages that contain an app and all its required dependencies (Bins/Libs) for the contained app to run.

  • Containers run on a Container Engine (ie. Docker Engine), which is run on a host OS.
  • Containers are lightweight and include only the dependencies required to run the specific app.
  • A Container Orchestrator is a software platform automating the deployment, management, scaling etc. of containers. These are used to operate large-scale systems (ie. Microservices) can require thousands of containers.
    • Kubernetes is the most popular container orchestrator.
    • Docker Swarm is Docker’s container orchestration tool.
Container Visualized

Virtual Machines VS Containers

  1. Virtual Machines:
    • Can take minutes to boot up as each VM runs its own OS.
    • Take up more disk space. (in gigabytes)
    • Use more CPU/RAM resources. (each VM must run its own OS)
    • Portable and can move between physical systems running the same hypervisor.
    • More isolated because each VM runs its own OS.
  2. Containers:
    • Can boot up in milliseconds.
    • Take up very little disk space.
    • Use fewer CPU/RAM resources. (Shared OS)
    • Portable as they are smaller, faster to boot up, and Docker containers can be run on nearly any container service.
    • Less isolated because they all run on the same OS instance; if the OS crashes, all containers running on it are effected.