Docker Volumes Management: Difference between revisions

From WikiMLT
m (Стадий: 6 [Фаза:Утвърждаване, Статус:Утвърден]; Категория:Containers)
 
(9 intermediate revisions by the same user not shown)
Line 31: Line 31:


== Explanations ==
== Explanations ==
Note when you are using <code>docker compose</code>, unless specify path in the left side on the ''<code>services:</code>  <code>container-name:</code> <code>volumes:</code>'' section docker will automatically create a volume <code>/var/lib/do&shy;ck&shy;er/vo&shy;lu&shy;mes/</code> named after the '''container-name''' underscore '''_''' and the name of the '''volume'''.
Note when you are using <code>docker compose</code>, unless specify path in the left side on the ''<code>services:</code>  <code>container-name:</code> <code>volumes:</code>'' section docker will automatically create a volume <code>/var/lib/do&shy;ck&shy;er/vo&shy;lu&shy;mes/</code> named after the 1) '''directory-name''' where the <code>docker-compose.yml</code> is located, 2) underscore '''_''' and 3) the name of the '''volume-name'''.


== Examples ==
== Examples ==
<syntaxhighlight lang="antlr-python" class="code-continue mlw-shell-gray">
'''In Example 1''' the containers directory <code>:/data</code> will be bound (mounted) to the directory <code>./base</code> within the current directory where the <code>docker-compose.yml</code> is located. In this case no volume is specified.<syntaxhighlight lang="antlr-python" class="code-continue mlw-shell-gray">
example 1
example 1
</syntaxhighlight><syntaxhighlight lang="shell" class="code-continue">
</syntaxhighlight><syntaxhighlight lang="shell" class="code-continue">
docker-compose.yml
container-name/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 48: Line 49:


</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang="bash" class="mlw-pre-wrap">
'''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>
The directory used as a volume is "./base" within the current directory where the "docker-compose.yml" is located.
<syntaxhighlight lang="antlr-python" class="code-continue mlw-shell-gray">
</syntaxhighlight><syntaxhighlight lang="antlr-python" class="code-continue mlw-shell-gray">
example 2
example 2
</syntaxhighlight><syntaxhighlight lang="shell" class="code-continue">
docker-compose.yml
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang="yaml" line="1" class="code-continue mlw-shell-gray">
<syntaxhighlight lang="shell" class="code-continue">
container-name/docker-compose.yml
</syntaxhighlight>
<syntaxhighlight lang="yaml" line="1" highlight="6,8" class="code-continue mlw-shell-gray">
version: "3"
version: "3"
services:
services:
Line 65: Line 66:
   base:
   base:


</syntaxhighlight>
<syntaxhighlight lang="bash" class="mlw-pre-wrap">
The directory used as a volume is "/var/lib/docker/volumes/container-name_base/_data" and it will be automatically created unles some additional options are specified within the "volumes:" section.
</syntaxhighlight>
</syntaxhighlight>


Line 93: Line 91:
  | УтвДт  = {{Today}}
  | УтвДт  = {{Today}}
  | ИдтРв  = [[Special:Permalink/32547|32547]]
  | ИдтРв  = [[Special:Permalink/32547|32547]]
  | РзбРв  = [[Special:Permalink/32557|32557]]
  | РзбРв  = [[Special:Permalink/32566|32566]]
  | АвтРв  = [[Special:Permalink/32558|32558]]
  | АвтРв = [[Special:Permalink/32567|32567]]
| РзАРв = [[Special:Permalink/32558|32558]]
  | УтвРв  = {{REVISIONID}}
  | УтвРв  = {{REVISIONID}}
| РзУРв  = [[Special:Permalink/32563|32563]]
}}
}}
</div>
</div>
</noinclude>
</noinclude>

Latest revision as of 16:44, 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 1) di­rec­to­ry-name where the docker-compose.yml is lo­cat­ed, 2) un­der­score _ and 3) the name of the vol­ume-name.

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
container-name/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
container-name/docker-compose.yml
version: "3"
services:
  container-name:
    image: image_name
    volumes:
    - base:/data
volumes:
  base:

Ref­er­ences