Docker Volumes Management
Basic commands
docker volume
Usage: docker volume COMMAND
Manage volumes
Commands:
create Create a volume
inspect Display detailed information on one or more volumes
ls List volumes
prune Remove all unused local volumes
rm Remove one or more volumes
Run 'docker volume COMMAND --help' for more information on a command.
docker volume create volume_name
docker volume ls
docker volume inspect volume_name
sudo ls -la /var/lib/docker/volumes/
docker volume (rm|prune) volume_name
Explanations
Note when you are using docker compose
, unless specify path in the left side on the services:
container-name:
volumes:
section docker will automatically create a volume /var/lib/docker/volumes/
named after the 1) directory-name where the docker-compose.yml
is located, 2) underscore _ and 3) the name of the volume-name.
Examples
In Example 1 the containers directory :/data
will be bound (mounted) to the directory ./base
within the current directory where the docker-compose.yml
is located. In this case no volume is specified.
example 1
container-name/docker-compose.yml
version: "3"
services:
container-name:
image: image_name
volumes:
- ./base:/data
In Example 2 the directory used as a volume is /var/lib/docker/volumes/container-name_base/
and it will be automatically created unless some additional options are specified within the volumes:
section. The actual directory :/data
of the container will be bound to /var/lib/docker/volumes/container-name_base/_data
example 2
container-name/docker-compose.yml
version: "3"
services:
container-name:
image: image_name
volumes:
- base:/data
volumes:
base:
References
- Docker: Reference > Compose file reference > Compose specification > Volumes top-level element