Starting a Container with a Volume

On Using -v Option

  • we may start a container with a bind mount using the -v option:
$ docker run -v $(pwd):/var/opt/project bash:latest \
bash -c "ls /var/opt/project"

  • This shows nothing from the mount position. However, if we write to the volume within a single execution of the container:
$ docker run -v data-volume:/var/opt/project bash:latest \
bash -c "echo Baeldung > /var/opt/project/Baeldung.txt"

Using The –mount Option

  • To indicate the volume we want to mount, we might find it easier to use the more obvious –mount option:
$ docker run --mount \
'type=volume,src=data-volume,\
dst=/var/opt/project,volume-driver=local,\
readonly' \
bash -c "ls /var/opt/project"

On Using Shared Volumes

Assume that we used the data-volume mount in a container to run our echo script. Afterwards, we could make a list of every container we’ve used:

$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5774502f857 bash "docker-entrypoint.s…" 8 minutes ago Exited (0) 8 minutes ago exciting_payne

What Is Docker Volume?

Docker containers enable apps to execute in an isolated environment. All modifications made inside the container are lost by default when it ends. Docker volumes and bind mounts can be useful for storing data in between runs. One way to store data outside of containers is with volumes. All volumes are kept in a specific directory on your host, typically /var/lib/docker/volumes for Linux systems, and are controlled by Docker.

Similar Reads

What are Docker Volumes?

Docker Volumes are a popular and effective method for assuring data permanence while working in containers. Docker volumes are file systems that are mounted on Docker containers to preserve the data generated by the container....

What is the Docker File System?

A Docker container executes the software stack specified in a Docker image. Images are built up of read-only layers that operate on the Union File System. When we start a new container, Docker adds a read-write layer on top of the image layers, allowing the container to function like a conventional Linux file system. So, each file modification within the container generates a functioning copy in the read-write layer. However, when the container is stopped or removed, the read-write layer disappears....

Types Of Mounts in Docker

The data appears the same from within the container in all mount modes. In the filesystem of the container, it is shown as a directory or a single file....

Docker Volume Plugins

Docker Engine volume plugins link Engine installations with external storage systems such as Amazon EBS, allowing data volumes to survive beyond the lifespan of a single Docker host. For further details, please refer to the plugin documentation....

Using Docker Volumes

Manually Creating and Linking Volumes with Proper Naming And Labeling Conventions...

Interacting With Docker Volumes

Each volume’s name and the storage driver that supports it will be shown. Use docker volume inspect to obtain more in-depth details about a particular volume instead:...

Starting a Container with a Volume

On Using -v Option...

How to use Docker Volumes

The following command launches a fresh Ubuntu 22.04 container and connects your terminal to it (-it), enabling you to execute example commands in the ensuing stages. Within the container, a volume named demo_volume is mounted to /data. Use the following command right now:...

Using Volumes With Docker Compose

In Docker Compose, volumes may also be defined and utilised. Create a top-level volumes field in your docker-compose.yml file, identify the volumes you want to create, then mount your volumes into your containers in the services section:...

Troubleshooting Common Docker Volume Issues

Permission Denied When Mounting Volumes...

Docker Volumes – FAQs

What is the Purpose of Docker Volumes?...

Contact Us