Docker is an open source application container engine, which is based on the Go language and complies with the Apache2.0 protocol.

Docker allows developers to package their applications and dependencies into a lightweight, portable container that can then be distributed to any popular Linux machine, as well as virtualization.

Containers are completely sandboxed, have no interfaces with each other (like iPhone apps), and most importantly, have very low performance overhead.

Docker application scenario

Automated packaging and distribution of Web applications

Automated testing and continuous integration, release

Docker architecture, Docker includes three basic concepts

Mirror: corresponds to a root file system

Containers: The relationship between images and containers. Just like classes and instances, containers are entities of the mirror runtime that can be created/started/stopped/deleted/paused, etc

Repository: A repository can be thought of as a code control center for storing images