In docker, the main function of the mirror warehouse is to store and distribute docker images; the mirror warehouse is several places to store images. The mirror warehouse can be divided into two types: remote warehouse and local warehouse. The remote warehouse can be understood as Cloud warehouses and public warehouses are warehouses maintained by an organization or company. Local warehouses can be understood as private warehouses and are not open to the public.
The operating environment of this tutorial: linux7.3 system, docker version 19.03, Dell G3 computer.
Mirroring can be understood as packaging applications and operating environments into "application templates", which is the upper abstraction of containers. A container is a running instance of an image. When starting, the application can be run by passing the corresponding parameters. The relationship between the two is similar to "classes and objects" in code.
To run an application as a container, you need to create an image first, specify the application's running environment, startup method and other information in the image, then generate the image and upload it to the image warehouse. When you want to run the application later, you will pull the image from the image warehouse and run it as a container. As long as the operating system supports container operation, the application can be run, shielding environmental differences and making deployment and operation simple.
Mirror warehouses can be divided into two types:
Remote warehouses: can be understood as cloud warehouses and public warehouses, which are warehouses maintained by an organization or company. The Internet is open and shared by everyone. Such as the official warehouse;
Local warehouse: It can be understood as the company's private warehouse and is not open to the public. Under normal circumstances, it is only used in the company's intranet to speed up image pulling and maintain company assets.
Currently, Docker officially maintains a public warehouse Docker Hub. Most needs can be achieved by directly downloading the image in Docker Hub. If you feel that pulling the Docker Hub image is slow, we can configure an image accelerator. Of course, most domestic cloud vendors provide corresponding accelerators, which can be simply configured.
Image is the basis of docker. We can pull the image from the official docker.hub warehouse, or we can build our own private warehouse
Expand knowledge
Build a registry image
First, download the Registry image and start it
docker pull registry
Then, run a container of the Registry mirror warehouse Example
Finally, view all the images in the mirror warehouse on the client
curl http://your-server-ip:5000/v2/_catalog
Upload the image
First, in order to allow the client server to quickly To access the mirror warehouse just built on the server (by default, an HTTPS certificate needs to be configured), here we simply configure the trust settings of the private warehouse on the client so that we can access it directly through HTTP:
vim /etc/docker/daemon.json
Add In the following sentence, please replace "your-server-ip" here with the external IP address of your server:
{ "insecure-registries" : [ "your-server-ip:5000" ] }
PS: If you do not set a trusted source and do not configure an HTTPS certificate, then it will Encountered this error: error: Get https://ip:port/v1/_ping: http: server gave HTTP response to HTTPS client.
In order for the configuration to take effect, restart the docker service: # systemctl restart docker
Secondly, tag the image to be uploaded
docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname
最后,开始正式上传镜像到服务端镜像仓库 docker push your-registry-server-ip:5000/your-image-name:tagname
Download the image
Downloading the image is very simple, just use the pull command:
docker pull your-server-ip:5000/your-image-name:tagname
If you want to know what tags (or versions) the image to be downloaded has, you can get it through the following API:
curl http://your-server-ip:5000/v2/your-image-name/tags/list
Recommended learning: "docker video tutorial》
The above is the detailed content of What is the use of docker image warehouse?. For more information, please follow other related articles on the PHP Chinese website!