Home > Article > Operation and Maintenance > What is the difference between docker container and warehouse
Difference: 1. A container is a running instance created from an image. An instance after the image is started is called a container, which is an application or a group of applications that runs independently; 2. A warehouse is a place where image files are stored centrally. Warehouse registration servers generally store multiple warehouses, each warehouse has multiple images, and each image has a different label.
The operating environment of this tutorial: linux7.3 system, docker-1.13.1 version, Dell G3 computer.
Docker is an open source application container engine, based on the Go language and open source in compliance with the Apache2.0 protocol.
Docker allows developers to package their applications and dependencies into a lightweight, portable container, and then publish it to any popular Linux machine, which can also be virtualized.
Containers completely use the sandbox mechanism. Each container runs an application. Different containers are isolated from each other. There will not be any interface between containers (similar to iPhone apps). Communication can also be established between containers. mechanism. More importantly, container performance overhead is extremely low. Containers are created and stopped very quickly, and the resource requirements of the container itself are also very limited.
The foundation of the Docker engine is Linux Containers (LXC) technology.
Docker Image
Docker image (Image) is similar to a virtual machine image. It can be understood as a read-only template for the Docker engine. Contains the file system.
For example: an image can only contain a complete Ubuntu operating system environment, and it can be called an Ubuntu image. Only the Apache application (or other software required by the user) is installed in the image. You can call it an Apache image.
Image is the basis for creating Docker containers. Through version management and incremental file systems, Docker provides a very simple mechanism to create and update existing images. Users can even download an already prepared application image from the Internet and use it directly.
Docker Container
Docker container (Container) is similar to a lightweight sandbox. Docker uses containers to run and isolate applications.
A container is an application running instance created from an image. It can be started, started, stopped, and deleted, and these containers are isolated from each other and invisible to each other.
You can think of a container as a simplified version of the Linux system environment (including root user permissions, process space, user space, network space, etc.) and a box packaged by the applications running in it.
The image itself is read-only. When a container is started from an image, a writable layer is created on top of the image.
Docker warehouse
Docker warehouse (Repository) is similar to a code warehouse. It is a place where Docker stores image files centrally.
Sometimes you see information that confuses the Docker warehouse and the warehouse registration server (Registry) without strictly distinguishing them. In fact, the warehouse registration server is where the warehouse is stored, and multiple warehouses are often stored on it. Each warehouse centrally stores a certain type of image, often including multiple image files, which are distinguished by different tags.
For example, the warehouse that stores Ubuntu operating system images is called the Ubuntu warehouse, which may include images of different versions such as 14.04 and 12.04.
Depending on whether the stored image is shared publicly, Docker warehouses can be divided into two forms: public warehouses (Public) and private warehouses (Private).
Currently, the largest public repository is the official Docker Hub, which stores a large number of images for users to download. Many domestic cloud service providers (such as Shisu Cloud, Alibaba Cloud, etc.) also provide local sources of warehouses, which can provide stable domestic access.
Of course, if users do not want to share their image files publicly, Docker also supports users to create a private warehouse within the local network that can only be accessed by themselves. After users create their own image, they can use the push command to upload it to a designated public or private repository. In this way, the next time the user uses the image on another machine, he only needs to pull it from the warehouse.
The difference between images, containers, and warehouses
docker images (Images)
One only Read templates can be used to create containers, and one image can create multiple containers;
Docker provides a very simple mechanism to create and update existing images, and you can even get them directly from other people. The image is used directly;
can be understood as a class in Java;
docker container (Container)
The container is A running instance created from an image, that is, an instance after the image is started, is called a container. It is an application or a group of applications that run independently;
Docker uses containers to run applications, and they can be started, started, and stopped. , delete, each container is a platform that is isolated from each other and ensures security;
You can think of the container as a simple version of Linux (including root user permissions, process space, user space and network space, etc.) and the applications running in it;
can be understood as an instance created through a class in Java;
docker warehouse (Resoisitory)
The warehouse is a centralized storage of image files Place, similar to git code warehouse, etc.;
There is a difference between warehouse (Respository) and warehouse registration server (Registry). Warehouse registration servers generally store multiple warehouses, each warehouse has multiple mirrors, and each mirror has a different tag;
Warehouses are divided into two types: public warehouses (public) and private warehouses (private) Form;
The largest public warehouse is Docker Hub, domestic public warehouses include Alibaba Cloud, etc.;
You can create a private warehouse on the local network;
When you create your own After mirroring, you can upload it to a public or private warehouse through the push command;
The concept of a warehouse is similar to Git, and the warehouse registration server can be understood as a hosting service such as GitHub;
docker host (Host)
A physical or virtual machine used to execute the Docker daemon and containers.
docker client (Client)
The client uses Docker through the command line or other tools.
Recommended learning: "docker video tutorial"
The above is the detailed content of What is the difference between docker container and warehouse. For more information, please follow other related articles on the PHP Chinese website!