Docker includes three basic concepts:
镜像(Image) Docker image (Image) is equivalent to a root file system. For example, the official image ubuntu:16.04 contains a complete set of Ubuntu16.04 minimal system root file system.
容器(Container) The relationship between Image and Container is like classes and instances in object-oriented programming. Mirrors are static definitions, while containers are entities that mirror runtime. Containers can be created, started, stopped, deleted, paused, and so on.
仓库(Repository) The repository can be seen as a code control center for storing images.
Docker uses the client-server architecture model and uses remote API to manage and create Docker containers.
The Docker container is created through a Docker image.
The relationship between containers and mirrors is similar to objects and classes in object-oriented programming.
Docker | object-oriented |
|---|---|
Container | Object |
Mirror image | Class |

Concept | Description |
|---|---|
Docker Mirror (Images) | Docker images are templates used to create Docker containers, such as Ubuntu systems. |
Docker container (Container) | A container is an application or group of applications that runs independently and is an entity that mirrors the runtime. |
Docker client (Client) | The Docker client uses Docker SDK ( https://docs.docker.com/develop/sdk/ )) to communicate with Docker’s daemon through the command line or other tools. |
Docker host (Host) | A physical or virtual machine is used to execute Docker daemons and containers. |
Docker Registry | The Docker repository is used to hold the image, which can be understood as a code repository in code control. |
Docker Hub ( https://hub.docker.com ) provides a large collection of images for use. | |
A Docker Registry can contain multiple repositories (Repository); each warehouse can contain multiple tags (Tag); each tag corresponds to an image. | |
Usually, a repository will contain images of different versions of the same software, and tags are often used to correspond to different versions of the software. We can specify which version of the software is mirrored by the format of < repository name >: < tag >. If no label is given, latest will be used as the default label. | |
Docker Machine | Docker Machine is a command-line tool that simplifies Docker installation. Docker can be installed on the appropriate platform, such as VirtualBox, Digital Ocean, and Microsoft Azure, from a simple command line. |