2017-12-13 8 views
1

自分のコンテナの名前付きボリュームを作成したいと思います。デフォルトを変更せずに特定の名前のドッカーボリュームを特定の場所に格納する方法は?

このコンテナは、実行している他のコンテナよりも多くのストレージを必要とするため、そのボリュームを空き容量の多い別のディスクに保存したいと考えています。

デフォルトのディスクには他のボリュームが残っていますが、名前が付いたボリュームは別のディスクに移動する必要があります。

バインドマウントを使用したくないのは、バックアップと移行をより複雑にするためです。

私が考えることができる唯一のオプションは、作成後(コンテナが停止している間)に手動でボリュームを移動し、元の場所から/var/lib/docker/...のシンボリックリンクを他のハードドライブの新しい場所に作成することです。これは非常にマニュアルなので、より良い方法が必要であると私は思っています。

これを達成するための推奨方法は何ですか?

+0

https://github.com/projectatomic/docker-lvm-plugin役立つかもしれない、わからない、それがどのように信頼性がある – Matt

答えて

3

ローカルボリュームドライバを使用します

docker volume create -d local -o type=none -o o=bind -o device=/host/path volname 

this github commentからの引用)

+0

を'bind'タイプのマウント、 'volume'タイプのマウントをしていますか? 'docker run -v/host/path:/ mypath ...'と違うのですか? – springloaded

+0

技術的には、すべてのボリュームはバインドマウントです。 _bind mounts_ これは、名前付きボリュームを必要としているので必要なようですが、あなたが指定するバインドマウント/ホストマウントではないようです。これはローカルドライバを使った名前付きボリュームです。 -v引数のホストの場所。 – programmerq

関連する問題