Home > Article > Operation and Maintenance > How to save image in docker
With the rapid development of cloud computing, containerization technology has attracted more and more attention. As a representative of containerization technology, Docker is powerful and easy to use, which can help us quickly build, publish and deploy applications.
In Docker, mirroring is an important concept. An image is a lightweight, portable software package that contains all the code, runtime, libraries, configuration, etc. required by the application. Through Docker images, we can easily deploy and run applications.
However, in actual use, we need to manage and save Docker images. This article will introduce in detail how Docker saves images.
1. Saving Docker images
Docker images are composed of multiple layers. When we download a Docker image, we actually download multiple layers of the image. These layers exist in read-only form on the local host's storage device for use by Docker containers. Therefore, if we want to save the Docker image, we need to save all layers.
Docker provides two ways to save images: saving as a tar package and pushing to Docker Hub. Below we will introduce the specific operations of these two methods respectively.
Docker provides a save command to save the image as a tar package. The syntax of this command is as follows:
docker save [OPTIONS] IMAGE [IMAGE...]
Among them, OPTIONS is an optional parameter, and IMAGE is the image name or ID to be saved. For example, if we want to save the centos:7 image as a tar package, we can execute the following command:
docker save -o centos7.tar centos:7
This command will save all layers of the centos:7 image as centos7.tar file, and the -o parameter specifies the output file. path and name. After saving, we can transfer the tarball to other hosts or storage devices to use the image in other environments.
If you need to save multiple images, you can specify multiple image names or IDs in the command. For example, if we want to save the two images of centos:7 and nginx:latest, we can execute the following command:
docker save -o images.tar centos:7 nginx:latest
This command will save all layers of the centos:7 and nginx:latest images as images.tar files.
Docker Hub is an official image repository provided by Docker. We can push the image we created to this repository so that it can be used elsewhere. use.
Before pushing the image to Docker Hub, you need to create a Docker Hub account and log in to the account. If you don't have an account, you can register one on the Docker Hub website.
After logging in to Docker Hub, you can execute the following command to push the image to Docker Hub:
docker login docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] docker push NAME[:TAG]
Among them, IMAGE is the name or ID of the image to be pushed, and TAG is the version number of the image. The default is latest; REGISTRYHOST is the address of the Docker image warehouse; USERNAME is the user name of the Docker Hub account; NAME is the name of the image warehouse being pushed to.
For example, if we want to push the local myservice image to the myservice image warehouse on Docker Hub, we can execute the following command:
docker login docker tag myservice username/myservice:latest docker push username/myservice:latest
This command will relabel the myservice image as username/myservice :latest, and push it to the myservice image warehouse on Docker Hub.
2. Importing and loading Docker images
When we need to use the saved Docker image in another host or environment, we can use it by importing or loading.
If we obtain a saved Docker image tar package from another host or storage device, we can import the tar package as a Docker image through the import command . The syntax of this command is as follows:
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
Among them, OPTIONS is an optional parameter, file|URL|- is the tar package path or URL to be imported, REPOSITORY is the name of the imported image, and TAG is the version of the image. Number.
For example, if we want to import a centos:7 image from /home/user/images/centos7.tar, we can execute the following command:
docker import /home/user/images/centos7.tar centos:7
This command will import the centos7.tar file into centos :7 mirror. If we want to specify the version number for this image as v1, we can execute the following command:
docker import /home/user/images/centos7.tar centos:v1
If we downloaded and saved it from Docker Hub or other image warehouse The Docker image can be loaded as a Docker image through the load command. The syntax of this command is as follows:
docker load [OPTIONS] < file.tar
Among them, OPTIONS is an optional parameter, and file.tar is the path of the tar package to be loaded.
For example, if we want to load two images centos:7 and nginx:latest from /home/user/images/images.tar, we can execute the following command:
docker load -i /home/user/images/images.tar
This command will load images The two images in the .tar file are centos:7 and nginx:latest. After loading is complete, we can use these two images on the local host.
3. Summary
This article mainly introduces the saving, importing and loading of Docker images. Through these methods, we can easily manage and share Docker images and improve the efficiency of application deployment and delivery.
The above is the detailed content of How to save image in docker. For more information, please follow other related articles on the PHP Chinese website!