Docker Volumes Management: Difference between revisions

From WikiMLT
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 11:06, 24 May 2023

Ba­sic com­mands

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

Ex­pla­na­tions

Note when you are us­ing dock­er com­pose, un­less spec­i­fy path in the left side on the ser­vices: con­tain­er-name: vol­umes: sec­tion dock­er will au­to­mat­i­cal­ly cre­ate a vol­ume /​​​var/​​​lib/​​​do­ck­er/​​​vo­lu­mes/​​​ named af­ter the con­tain­er-name un­der­score _ and the name of the vol­ume.

Ex­am­ples

In Ex­am­ple 1 the con­tain­ers di­rec­to­ry :/​​​data will be bound (mount­ed) to the di­rec­to­ry ./​​​base with­in the cur­rent di­rec­to­ry where the docker-compose.yml is lo­cat­ed. In this case no vol­ume is spec­i­fied.

example 1
docker-compose.yml
version: "3"
services:
  container-name:
    image: image_name
    volumes:
    - ./base:/data

In Ex­am­ple 2 the di­rec­to­ry used as a vol­ume is /var/lib/­dock­er/vol­umes/­con­tain­er-name_base/ and it will be au­to­mat­i­cal­ly cre­at­ed un­less some ad­di­tion­al op­tions are spec­i­fied with­in the vol­umes: sec­tion. The ac­tu­al di­rec­to­ry :/​​​data of the con­tain­er will be bound to /var/lib/­dock­er/vol­umes/­con­tain­er-name_base/_­da­ta

example 2
docker-compose.yml
version: "3"
services:
  container-name:
    image: image_name
    volumes:
    - base:/data
volumes:
  base:

Ref­er­ences