Docker Volumes Management: Difference between revisions
mNo edit summary |
|||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ContentArticleHeader/Containers|toc=off}}{{ContentArticleHeader/DevOps_and_SRE|toc-limit=2}} | {{ContentArticleHeader/Containers|toc=off}}{{ContentArticleHeader/DevOps_and_SRE|toc-limit=2}} | ||
== Basic commands == | |||
<syntaxhighlight lang="shell" line="1"> | <syntaxhighlight lang="shell" line="1"> | ||
docker volume | docker volume | ||
Line 27: | Line 28: | ||
</syntaxhighlight><syntaxhighlight lang="shell" line="1" class="code-continue mlw-shell-gray"> | </syntaxhighlight><syntaxhighlight lang="shell" line="1" class="code-continue mlw-shell-gray"> | ||
docker volume (rm|prune) volume_name | docker volume (rm|prune) volume_name | ||
</syntaxhighlight>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 /var/lib/ | </syntaxhighlight> | ||
== 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­ck­er/vo­lu­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 == | |||
'''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 41: | Line 49: | ||
</syntaxhighlight> | </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> | ||
<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 58: | Line 66: | ||
base: | base: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 74: | Line 79: | ||
| Прндл = Containers | | Прндл = Containers | ||
| Прндл1 = DevOps_and_SRE | | Прндл1 = DevOps_and_SRE | ||
| Стадий = | | Стадий = 6 | ||
| Фаза = | | Фаза = Утвърждаване | ||
| Статус = | | Статус = Утвърден | ||
| ИдтПт = Spas | | ИдтПт = Spas | ||
| РзбПт = {{REVISIONUSER}} | | РзбПт = Spas | ||
| АвтПт = Spas | |||
| УтвПт = {{REVISIONUSER}} | |||
| ИдтДт = 24.05.2023 | | ИдтДт = 24.05.2023 | ||
| РзбДт = {{Today}} | | РзбДт = 24.05.2023 | ||
| АвтДт = 24.05.2023 | |||
| УтвДт = {{Today}} | |||
| ИдтРв = [[Special:Permalink/32547|32547]] | | ИдтРв = [[Special:Permalink/32547|32547]] | ||
| РзбРв = {{REVISIONID}} | | РзбРв = [[Special:Permalink/32566|32566]] | ||
| АвтРв = [[Special:Permalink/32567|32567]] | |||
| РзАРв = [[Special:Permalink/32558|32558]] | |||
| УтвРв = {{REVISIONID}} | |||
| РзУРв = [[Special:Permalink/32563|32563]] | |||
}} | }} | ||
</div> | </div> | ||
</noinclude> | </noinclude> |
Latest revision as of 15:44, 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 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