2016-04-22 8 views
3

私はDockerコンテナを持っていますが、コンテナの/ var/www /にあるすべてのファイルがホストシステムの場所(/ home/me)に保存されるようにしようとしています。 。 2人の間にこの共有スペースを持つことは可能ですか?私のDockerコンテナとホストシステムの間で共有資産(画像、テキスト文書など)を共有するにはどうしたらいいですか?

マウントポイントでこれを達成するのか、それとも良い方法がありますか?

ありがとうございました

+0

何を試しましたか? RTM! – Auzias

答えて

3

コンテナとホスト間で共有するボリュームを使用できます。

docker run -v /home/me:/var/www <image>

あなたが固定されたファイル/データを持っている場合は、コンテナにコピーした後dockerfileを使用するか、またはコミットイメージに追加することができます。ホストとコンテナ間でrw dirを共有する場合は、ボリュームを使用する必要があります。新しいコンテナを削除して再作成しても、データは保持されます。

+0

これをドッカーファイルにも追加できますか? –

+0

@ J.Doe、ファイルをdockerfileに追加できますが、共有ディレクトリのようにはなりません。後でコンテナ内の変更を行った場合は、ホストに保存されず、コンテナが削除された場合は失われます。 – Gangaraju

+0

したがって、コンテナのコマンドを実行しているときに、 'docker run -d -P --name web -v/src/webapp:/ opt/webapp testing123'コマンドで、必要なボリュームを作成できます。 '/ src/webapp:/ opt/webapp'ホストディレクトリをDockerfileの中の引数にするにはどうしたらいいですか?このタイプのストレージを作成するのに 'VOLUME'を使うことはできますか? –

1

あなたはこの

  1. 使用量を行うことができる3つの方法があります。 Official docs
  2. 画像にファイルを書き込む。基本的には、Dockerfileの内部にファイルの作成が含まれています。これは、そのイメージからのすべてのコンテナコンテナが初期状態のソートを持つことを意味します。
  3. データ専用コンテナを使用します。これらは、必要なデータを含む実行中プロセスのないコンテナです。これはボリュームも使用します。しかし、ホストにマウントする代わりに、コンテナはデータ専用のコンテナにマウントされます(これは、必要に応じてホストにマウントされます)。このanswerは便利です
関連する問題