reading-notes

View project on GitHub

Linux Containers

Docker is really just Linux containers which are a type of virtualization.

Virtualization: has its roots at the beginning of computer science when large, expensive mainframe computers were the norm. How could multiple programmers use the same single machine? The answer was virtualization and specifically virtual machines which are complete copies of a computer system from the operating system on up.

Containers vs Virtual Environments:

  • Virtual environments are used to isolate Python software packages locally. We can create an isolated box for individual projects so one can use Python 2.7 and Django 1.5 while another can use Python 3.5 and Django 2.1 on the same computer.
  • But…virtual environments can only isolate Python packages. They still rely on a global, system-level installation of Python albeit they can refer to the proper version.
  • Also we can’t run a production database or other services within virtual environments.

    Images and Containers:

  • Images and containers are the two fundamental concepts to grasp when you start with Docker. An image is a snapshot in time of what a project contains. A container is a running instance of the image.
Resources:

Done by Omar-zoubi