Docker container technology — Overview

table of Contents

Article Directory

Docker

In 2010, a company called dotCloud was established in San Francisco, USA. This company mainly provides cloud computing technology services based on PaaS. Specifically, it is the container technology related to LXC.

LXC (Linux Container) is a lightweight virtualization technology that can isolate processes and resources, and provides a mechanism to support simultaneous execution of multiple isolated Server Containers on a single controllable host node. Container effectively divides the resources managed by a single operating system into isolated groups to better balance conflicting resource usage requirements among isolated groups. Container decouples the application from the operating system, which means that if a user owns a Container, they will have a lightweight and isolated operating system runtime (Runtime).

LXC is similar to Chroot, providing a virtual environment with its own processes and network space, but it is different from virtual machines, because LXC is a kind of virtualization of resources at the operating system level, and is essentially an operating system virtualization technology , Implementation of cgroups and namespace based on Linux Kernel.

  • The namespace is used to complete resource isolation.
  • Cgroups are used to limit and manage resource usage by processes.

Later, dotCloud company simplified and standardized its own container technology and named it Docker. When Docker was born, it did not arouse industry attention. Under fierce competition, dotCloud decided to open source Docker.

In March 2013, 28-year-old Solomon Hykes, one of the founders of dotCloud, officially decided to open source the Docker project. In the month of open source, Docker version 0.1 was released. Every month thereafter, Docker will release a version. On June 9, 2014, Docker version 1.0 was officially released. At this time, Docker has become the most popular open source technology in the industry. dotCloud also changed the company name to Docker Inc. altogether.

Before container technology, the industry’s influencers were virtual machines. Virtual machines belong to server virtualization technology. And lightweight virtualization like Docker belongs to operating system virtualization technology.

Insert picture description here

The startup time of Container Docker is very fast, it can be completed in a few seconds. Moreover, it has high resource utilization, and a host can run thousands of Docker Containers at the same time. In addition, it occupies a small space, virtual machines generally require a few GB to tens of GB of space, while containers only need MB or even KB.

Insert picture description here

In fact, it is not difficult to understand Docker, mainly two slogans:

  1. "Build, Ship and Run.": Build, Ship and Run.
  2. "Build once, Run anywhere.": Build once, run anywhere.

The three core concepts of Docker are:

  • Mirror image (Image)
  • Container (Container)
  • Repository

In short, Docker is an open source container engine technology developed by Golang, which was originally implemented based on LXC. On the basis of LXC, several major changes have been implemented. The image is constructed and distributed through a Git-like operation method, which makes the use of Container more convenient and flexible.

Insert picture description here

Guess you like

Origin blog.csdn.net/Jmilk/article/details/108894697