2016-10-29 12 views
2

指定されたホストファイルなしで-vオプションによって作成されたDockerデータボリュームの主な目的は何ですか?例えば、docker run -v /data -ti my-image。 Docは、ホストファイルシステムにマップされた新しいファイルシステムを作成して、データを永続させる(ランダムな場所に)。という事は承知しています。しかし、コンテナはまた、停止して再開するとすべてのデータを保持します。では、停止したコンテナのデータとデータのボリュームの違いは何ですか?自動マッピングされたDockerデータボリュームを使用する場合

-v /data:/data/hostで特定のホストファイルをマップするための高度な使い方を理解しています。私の頭の上オフ

+0

詳細についても、これを読むhttp://stackoverflow.com/questions/40163036/difference-between-volume-declaration-in-dockerfile-and-v-as-docker-run-paramet/40163757 #40163757指定されたホストファイルを持たない-vオプションは、DockerfileのVOLUMEに相当します。 –

+0

ありがとう、私はパフォーマンスの理由については考えていません。 –

答えて

1

  1. あなたはいくつかの点でdocker commitを使用して計画している場合は、そのような一時的なボリュームが意図的に新しいファイルシステムにコミットし得ることから、一部のコンテンツを予防するために使用することができますimage(ボリュームの内容がイメージの一部として保存されないため)。

  2. 一時的なデータがたくさん生成され、ルートコンテナファイルシステムをいっぱいにすることが心配な場合は、ボリュームを使用すると、データがオペレーティングシステムファイルとスペースを共有しないため、 。

+0

同じ名前の新しいコンテナを実行するとどうなりますか?新しいボリュームを作成するか、すでに作成したボリュームを再利用しますか? (ホストフォルダを指定せずに-vオプションを指定する)。 –

+0

毎回新しいコンテナを作成します。永続ボリュームが必要な場合は、 '-v '構文を使用する必要があります。ここで、 ''はホストパスまたは 'docker volume create'で作成された既存ボリュームの名前になります。 – larsks

関連する問題