mirror of
https://github.com/genuinetools/reg.git
synced 2024-09-19 08:41:02 -04:00
126 lines
3.6 KiB
Markdown
126 lines
3.6 KiB
Markdown
|
---
|
||
|
title: "volume create"
|
||
|
description: "The volume create command description and usage"
|
||
|
keywords: "volume, create"
|
||
|
---
|
||
|
|
||
|
<!-- This file is maintained within the docker/cli GitHub
|
||
|
repository at https://github.com/docker/cli/. Make all
|
||
|
pull requests against that repo. If you see this file in
|
||
|
another repository, consider it read-only there, as it will
|
||
|
periodically be overwritten by the definitive file. Pull
|
||
|
requests which include edits to this file in other repositories
|
||
|
will be rejected.
|
||
|
-->
|
||
|
|
||
|
# volume create
|
||
|
|
||
|
```markdown
|
||
|
Usage: docker volume create [OPTIONS] [VOLUME]
|
||
|
|
||
|
Create a volume
|
||
|
|
||
|
Options:
|
||
|
-d, --driver string Specify volume driver name (default "local")
|
||
|
--help Print usage
|
||
|
--label value Set metadata for a volume (default [])
|
||
|
-o, --opt value Set driver specific options (default map[])
|
||
|
```
|
||
|
|
||
|
## Description
|
||
|
|
||
|
Creates a new volume that containers can consume and store data in. If a name is
|
||
|
not specified, Docker generates a random name.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
Create a volume and then configure the container to use it:
|
||
|
|
||
|
```bash
|
||
|
$ docker volume create hello
|
||
|
|
||
|
hello
|
||
|
|
||
|
$ docker run -d -v hello:/world busybox ls /world
|
||
|
```
|
||
|
|
||
|
The mount is created inside the container's `/world` directory. Docker does not
|
||
|
support relative paths for mount points inside the container.
|
||
|
|
||
|
Multiple containers can use the same volume in the same time period. This is
|
||
|
useful if two containers need access to shared data. For example, if one
|
||
|
container writes and the other reads the data.
|
||
|
|
||
|
Volume names must be unique among drivers. This means you cannot use the same
|
||
|
volume name with two different drivers. If you attempt this `docker` returns an
|
||
|
error:
|
||
|
|
||
|
```none
|
||
|
A volume named "hello" already exists with the "some-other" driver. Choose a different volume name.
|
||
|
```
|
||
|
|
||
|
If you specify a volume name already in use on the current driver, Docker
|
||
|
assumes you want to re-use the existing volume and does not return an error.
|
||
|
|
||
|
### Driver-specific options
|
||
|
|
||
|
Some volume drivers may take options to customize the volume creation. Use the
|
||
|
`-o` or `--opt` flags to pass driver options:
|
||
|
|
||
|
```bash
|
||
|
$ docker volume create --driver fake \
|
||
|
--opt tardis=blue \
|
||
|
--opt timey=wimey \
|
||
|
foo
|
||
|
```
|
||
|
|
||
|
These options are passed directly to the volume driver. Options for
|
||
|
different volume drivers may do different things (or nothing at all).
|
||
|
|
||
|
The built-in `local` driver on Windows does not support any options.
|
||
|
|
||
|
The built-in `local` driver on Linux accepts options similar to the linux
|
||
|
`mount` command. You can provide multiple options by passing the `--opt` flag
|
||
|
multiple times. Some `mount` options (such as the `o` option) can take a
|
||
|
comma-separated list of options. Complete list of available mount options can be
|
||
|
found [here](http://man7.org/linux/man-pages/man8/mount.8.html).
|
||
|
|
||
|
For example, the following creates a `tmpfs` volume called `foo` with a size of
|
||
|
100 megabyte and `uid` of 1000.
|
||
|
|
||
|
```bash
|
||
|
$ docker volume create --driver local \
|
||
|
--opt type=tmpfs \
|
||
|
--opt device=tmpfs \
|
||
|
--opt o=size=100m,uid=1000 \
|
||
|
foo
|
||
|
```
|
||
|
|
||
|
Another example that uses `btrfs`:
|
||
|
|
||
|
```bash
|
||
|
$ docker volume create --driver local \
|
||
|
--opt type=btrfs \
|
||
|
--opt device=/dev/sda2 \
|
||
|
foo
|
||
|
```
|
||
|
|
||
|
Another example that uses `nfs` to mount the `/path/to/dir` in `rw` mode from
|
||
|
`192.168.1.1`:
|
||
|
|
||
|
```bash
|
||
|
$ docker volume create --driver local \
|
||
|
--opt type=nfs \
|
||
|
--opt o=addr=192.168.1.1,rw \
|
||
|
--opt device=:/path/to/dir \
|
||
|
foo
|
||
|
```
|
||
|
|
||
|
## Related commands
|
||
|
|
||
|
* [volume inspect](volume_inspect.md)
|
||
|
* [volume ls](volume_ls.md)
|
||
|
* [volume rm](volume_rm.md)
|
||
|
* [volume prune](volume_prune.md)
|
||
|
* [Understand Data Volumes](https://docs.docker.com/engine/tutorials/dockervolumes/)
|