Docker Volumes Management: Difference between revisions
Line 39: | Line 39: | ||
docker-compose.yml | docker-compose.yml | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="yaml" line="1" class="code-continue mlw-shell-gray"> | |||
<syntaxhighlight lang="yaml" line="1" highlight="6" class="code-continue mlw-shell-gray"> | |||
version: "3" | version: "3" | ||
services: | services: | ||
Line 47: | Line 48: | ||
- ./base:/data | - ./base:/data | ||
</syntaxhighlight>'''In Example 2''' the directory used as a volume is <code>/var/lib/docker/volumes/container-name_base/</code> and it will be automatically created unless some additional options are specified within the <code>volumes:</code> section. The actual directory <code>:/data</code> of the container will be bound to <code>/var/lib/docker/volumes/container-name_base/_data</code><syntaxhighlight lang="antlr-python" class="code-continue mlw-shell-gray"> | </syntaxhighlight> | ||
'''In Example 2''' the directory used as a volume is <code>/var/lib/docker/volumes/container-name_base/</code> and it will be automatically created unless some additional options are specified within the <code>volumes:</code> section. The actual directory <code>:/data</code> of the container will be bound to <code>/var/lib/docker/volumes/container-name_base/_data</code> | |||
<syntaxhighlight lang="antlr-python" class="code-continue mlw-shell-gray"> | |||
example 2 | example 2 | ||
</syntaxhighlight><syntaxhighlight lang="shell" class="code-continue"> | </syntaxhighlight> | ||
<syntaxhighlight lang="shell" class="code-continue"> | |||
docker-compose.yml | docker-compose.yml | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="yaml" line="1" class="code-continue mlw-shell-gray"> | <syntaxhighlight lang="yaml" line="1" highlight="6,8" class="code-continue mlw-shell-gray"> | ||
version: "3" | version: "3" | ||
services: | services: | ||
Line 63: | Line 67: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== References == | == References == | ||
Revision as of 10:06, 24 May 2023
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 container-name underscore _ and the name of the volume.
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
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
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