docker volume create¶
説明¶
ボリュームを作成します。
【API 1.21+】このコマンドを使うには、クライアントとデーモン API の両方が、少なくとも 1.25 の必要があります。クライアントとデーモン API のバージョンを調べるには、 docker version
コマンドを使います。
補足説明¶
コンテナが利用し、データを保管するための新しいボリュームを作成します。名前を指定しなければ、 Docker はランダムな名称を生成します。
コマンドの使用例は、以下の 使用例のセクション をご覧ください。
オプション¶
名前, 省略形 |
デフォルト |
説明 |
---|---|---|
|
|
ボリューム・ドライバ名を指定 |
|
ボリュームにメタデータを指定 |
|
|
ボリューム名を指定 |
|
|
ドライバ固有のオプションを指定 |
使用例¶
ボリュームを作成し、コンテナが使えるようにするには、次の例のように実行します。
$ docker volume create hello
hello
$ docker run -d -v hello:/world busybox ls /world
これはコンテナ内の /world
ディレクトリにマウントを作成します。Docker はコンテナ内のマウントポイントに、相対パスの指定をサポートしません。
複数のコンテナが同時に同じボリュームを利用できます。2つのコンテナが共有データにアクセスする場合に便利です。例えば、一方のコンテナがデータを書き込み、もう一方がデータを読み込めます。
ボリューム名はドライバ間でユニークである必要があります。つまり2つの異なったドライバで、同じボリューム名を使うことはできません。実行しようとしても、 docker
はエラーを返します。
A volume named "hello" already exists with the "some-other" driver. Choose a different volume name.
現在のドライバが既に使用しているボリューム名を指定する場合は、Docker は既存のボリュームを再利用するとみなし、エラーを返しません。
ドライバ固有のオプション¶
ボリューム・ドライバによっては、ボリューム作成のカスタマイズのためにオプションが使えます。 -o
か --opt
フラグでドライバにオプションを渡します。
$ docker volume create --driver fake \
--opt tardis=blue \
--opt timey=wimey \
foo
これらのオプションは各ボリューム・ドライバに直接渡されます。オプションはボリューム・ドライバごとに別々の動作をします(あるいは何もしないかもしれません)。
Windows の内蔵 local
ドライバは、オプションをサポートしていません。
Linux の内蔵 local
ドライバは、linux の mount
コマンドと似たオプションに対応します。 --opt
フラグを複数回使い、複数のオプションを指定できます。いくつかの mount
オプションは( o
オプションなど)、オプションをカンマで区切る形式です。mount オプションで利用可能なリスト一覧は、 こちら にあります。
たとえば、以下は tmpfs
ボリュームを作成しますが、名前は foo
、容量は 100 MB、 uid
は 1000 です。
$ docker volume create --driver local \
--opt type=tmpfs \
--opt device=tmpfs \
--opt o=size=100m,uid=1000 \
foo
btrfs
を使う他の例です。
$ docker volume create --driver local \
--opt type=btrfs \
--opt device=/dev/sda2 \
foo
他の例としては、 192.168.1.1
から /path/to/dir
を rw
モードとして、nfs
を使ってマウントします。
$ docker volume create --driver local \
--opt type=nfs \
--opt o=addr=192.168.1.1,rw \
--opt device=:/path/to/dir \
foo
関連コマンド¶
コマンド |
説明 |
---|---|
ボリュームの作成 |
|
1つまたは複数ボリュームの詳細情報を表示 |
|
ボリューム一覧表示 |
|
使用していないローカルボリュームを削除 |
|
1つまたは複数ボリュームを削除 |
参考
- docker volume create
https://docs.docker.com/engine/reference/commandline/volume_create/