Check where the docker image is pulled and placed
Docker is an open source container technology that can be used to build, publish and run applications. By using Docker images, users can download and install pre-built applications or container environments simply and quickly.
Docker images are composed of multiple layers (Layer), each layer contains a snapshot of the file system. When a user pulls a Docker image, they actually obtain all the layers of the image from the Docker Registry and combine them to build a complete Docker image.
So, where is the local storage location of the Docker image? This article will introduce it to you in detail.
- View the Docker image list
First, we need to view the current local Docker image list. Enter the following command in the terminal:
docker images
After execution, a list of all Docker images on the machine will be listed, including image ID, image name, image label, image size and other information. As shown in the figure below:
#As you can see from the above figure, each image has a unique ID, a name and some tags (also called versions). Among them, the REPOSITORY field represents the name of the image, the TAG field represents the label of the image, and the IMAGE ID field is the unique identifier of the image.
- View Docker image storage location
In Docker, each image is composed of multiple layers (Layer). Therefore, when a user downloads or builds a Docker image, all layers of the image are actually downloaded to local storage.
In the Linux system, the Docker image is actually stored in the /var/lib/docker
directory. Enter the following command in the terminal:
sudo ls -l /var/lib/docker/
After execution, the terminal will display a list of all files and folders in the /var/lib/docker/ directory. Among them, the /var/lib/docker/image
folder is the main location where Docker stores images. As shown in the figure below:
In the /var/lib/docker/image/overlay2/imagedb/content/sha256
directory, all existing The downloaded Docker image (named by the image ID), which is the storage location of all layers. In each image ID directory, there is a file named "real" or "diff", which represents the storage location of this layer.
- Confirm the storage location of the image layer
For each layer of the Docker image, its storage location can be confirmed by executing the following command:
docker history <image_name>:<tag>
For example, for the nginx image, executing the command:
docker history nginx:latest
will output the following results:
IMAGE CREATED CREATED BY SIZE COMMENT 84cf8d0a2e04 3 weeks ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B <missing> 3 weeks ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B <missing> 3 weeks ago /bin/sh -c #(nop) EXPOSE 80 0B <missing> 3 weeks ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx… 22B <missing> 3 weeks ago /bin/sh -c set -x && apt-get update && ap… 68.2MB <missing> 3 weeks ago /bin/sh -c #(nop) ENV NJS_VERSION=2.1.0.6 0B <missing> 3 weeks ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.16.1 0B <missing> 4 weeks ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B <missing> 4 weeks ago /bin/sh -c #(nop) CMD ["bash"] 0B <missing> 4 weeks ago /bin/sh -c #(nop) ADD file:7fbfce9f6a99e63a5… 63.2MB
Among them, the SIZE field of each layer indicates the actual space occupied by the layer. The first column of the output result of this command is the ID of each layer of the Docker image, which represents each layer of the image from top to bottom.
We can confirm the specific storage location of each layer based on the output of this command. For example, in the output of the above command, the last column is the description information of the layer, which includes the original command and parameters of the layer.
For the first layer of the nginx image (ID is "84cf8d0a2e04"), the CMD of this layer is "CMD ["nginx" "-g" "daemon..."", which means starting the nginx service; for the following Each layer contains other configurations or commands. Therefore, we can roughly guess where each layer of the Docker image is stored.
- Summary
With the above command, users can view the locally stored Docker image under the Linux system. The layer of the Docker image is stored in the /var/lib/docker/image/overlay2/imagedb/content/sha256
directory with the image ID as the folder name. Each layer is stored in a "real" or "diff" file respectively.
For the storage location of each layer of mirroring, you can view the storage location of the layer by executing the docker history
command and look for the description information of the layer in the output results to roughly guess the storage location of the layer.
When using Docker images and containers, understanding the storage location of Docker images can better manage local storage space, as well as backup and restore Docker images and containers.
The above is the detailed content of Check where the docker image is pulled and placed. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Docker is a must-have skill for DevOps engineers. 1.Docker is an open source containerized platform that achieves isolation and portability by packaging applications and their dependencies into containers. 2. Docker works with namespaces, control groups and federated file systems. 3. Basic usage includes creating, running and managing containers. 4. Advanced usage includes using DockerCompose to manage multi-container applications. 5. Common errors include container failure, port mapping problems, and data persistence problems. Debugging skills include viewing logs, entering containers, and viewing detailed information. 6. Performance optimization and best practices include image optimization, resource constraints, network optimization and best practices for using Dockerfile.

DockerVolumes ensures that data remains safe when containers are restarted, deleted, or migrated. 1. Create Volume: dockervolumecreatemydata. 2. Run the container and mount Volume: dockerrun-it-vmydata:/app/dataubuntubash. 3. Advanced usage includes data sharing and backup.

Docker security enhancement methods include: 1. Use the --cap-drop parameter to limit Linux capabilities, 2. Create read-only containers, 3. Set SELinux tags. These strategies protect containers by reducing vulnerability exposure and limiting attacker capabilities.

Using Docker on Linux can improve development and deployment efficiency. 1. Install Docker: Use scripts to install Docker on Ubuntu. 2. Verify the installation: Run sudodockerrunhello-world. 3. Basic usage: Create an Nginx container dockerrun-namemy-nginx-p8080:80-dnginx. 4. Advanced usage: Create a custom image, build and run using Dockerfile. 5. Optimization and Best Practices: Follow best practices for writing Dockerfiles using multi-stage builds and DockerCompose.

Docker provides three main network modes: bridge network, host network and overlay network. 1. The bridge network is suitable for inter-container communication on a single host and is implemented through a virtual bridge. 2. The host network is suitable for scenarios where high-performance networks are required, and the container directly uses the host's network stack. 3. Overlay network is suitable for multi-host DockerSwarm clusters, and cross-host communication is realized through the virtual network layer.

DockerSwarm can be used to build scalable and highly available container clusters. 1) Initialize the Swarm cluster using dockerswarminit. 2) Join the Swarm cluster to use dockerswarmjoin--token:. 3) Create a service using dockerservicecreate-namemy-nginx--replicas3nginx. 4) Deploy complex services using dockerstackdeploy-cdocker-compose.ymlmyapp.

The steps to update a Docker image are as follows: Pull the latest image tag New image Delete the old image for a specific tag (optional) Restart the container (if needed)

The core of Docker monitoring is to collect and analyze the operating data of containers, mainly including indicators such as CPU usage, memory usage, network traffic and disk I/O. By using tools such as Prometheus, Grafana and cAdvisor, comprehensive monitoring and performance optimization of containers can be achieved.
