SoFunction
Updated on 2025-03-10

Detailed explanation of Docker data volumes, interception and directory interception

introduction

The rapid development of container technology has made container mounting technology increasingly important. In containerized applications, data volume mount and directory mount are two common mount methods, which provide the container with the ability to persist storage and file sharing. This article will explore the principles, application scenarios and best practices of data volume mount and directory mount to help readers better understand and apply these advanced container mount technologies.

Data volume mount

Principle analysis

A data volume is a way to persist data storage in a container, which can share data between containers and retain data after the container is deleted. Data volume mount is to mount directories or files on the host into containers to realize data sharing and persistent storage.

Application scenarios

Data sharing: When multiple containers need to access the same data, data sharing can be achieved through data volume mount to avoid data redundancy and consistency problems.

Data persistence: When data in a container needs to be persisted and saved, you can use data volume mounts to store data on the host to ensure that data is not lost with the destruction of the container.

Introduction to use

In order to achieve data storage and data sharing well, Docker proposed the concept of Volume, which simply means bypassing the default union
File system, and exists on the host in the form of a normal file or directory. Also known as data volume.

Data volume is a special directory that can be used by one or more containers. It bypasses UFS and can provide many useful features:

  • Data volumes can be shared and reused between containers
  • Modifications to the data volume will take effect immediately
  • Updates to data volumes will not affect the mirroring
  • Data volumes will always exist by default, even if the container is deleted

Create a data volume

 docker volume create my-vol

View all data volumes

docker volume ls

View data volume information

docker volume inspect my-vol

Delete a volume

docker volume rm my-vo

Data volumes are designed to persist data. Their life cycle is independent of containers. Docker will not automatically delete data volumes after the container is deleted, and there is no mechanism like garbage collection to process data volumes without any container references. Unowned data volumes may occupy a lot of space, so they must be deleted in time.

Mount data volume

When using the docker run command, use the --mount tag to mount the data volume into the container. Multiple data volumes can be mounted in a docker run at once.

docker run -itd \
--name Container name \
--mount source=Data volume name,target=Corresponding directory in container \
Mirror name

It is best to create a startup container through run instead of create/start. After creating a startup container by creating/start command, it is quite troublesome to mount the data volume. It requires many configuration files to be modified, but it is not impossible.

View specific information about the data volume

docker volume inspect html

Directory mount

Principle analysis

Directory mount is to mount directories on the host into a container so that the container can access the file system on the host. Directory mount can be used in scenarios such as sharing configuration files, collecting log files, etc.

Application scenarios

  • Configuration file mount: Mount the configuration files on the host into the container to realize dynamic updates and sharing of configurations.
  • Log file mount: Mount log files in the container to the host to facilitate log collection and analysis.

Introduction to use

Create a run

docker run -itd \
--name Container name \
--mount type=bind,source=Host directory,target=Corresponding directory in container \
Mirror name

Data volume containerIf the user needs to share some continuously updated data between multiple containers, the easiest way is to use the data volume container.

The data volume container is also a container, but its purpose is to provide data volumes specifically to mount other containers.

Create a data volume container

docker run -itd --name name -v dir centos

Mount the data volume container

docker run -itd --name name --volumes-from db_data centos

Summarize

Data volume mount and directory mount are two important methods in container mount technology, and they provide flexible storage and file sharing capabilities for containers. A deep understanding of the principles and application scenarios of these mounting technologies is crucial to building high-reliability and high-performance containerized applications. I hope this article can help readers better master these advanced container mount technologies and improve the level of containerized applications.

This is the end of this article about Docker data volumes and interception and directory interception. For more related contents of Docker data volumes and directory interception, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!