2016-05-14 5 views
1

私のMAC /ホストに~/shareとコンテナの中にopt/abcの間にボリュームをマウントすることができました。しかし、そうすることで両方とも空に見えた。コンテナにはアプリ全体があったにもかかわらず。しかし、それは私がファイルを作成し、それが両方の場所に現れました。Dockerコンテナからホストの共有フォルダにデータを取得する方法は?

私はコンテナからすべてのファイルを取り出し、それをhost/macの横にあるフォルダに置くことができます。

再び。これは、ポイント以降の細かい部分に接続して同期します。しかし、既に容器の中にあるものは現れていません。

答えて

1

ときmount a host directory as a data volume

パス/opt/abcが既にコンテナの画像内に存在する場合は、~/shareはオーバーレイをマウントしますが、既存のコンテンツを削除しません。
マウントが削除されると、コンテンツに再びアクセスできます。これは、mountコマンドの予想される動作と一致しています。

「オーバーレイしても既存のコンテンツは削除されません」とは、既存のコンテンツがマウント期間中は見えなくなることを意味します。コンテナフォルダが空に現れた場合はそう

がコンテナからホストにデータを取得する方法を予想される動作(あなたはそれの上に最初は空のホストのフォルダをマウントする場合)

です。

あなたが実際に反対を必要とする:最初のホスト上でそのデータを取得し、は、あなたのコンテナを起動し、ボリュームとしてそのホストのフォルダをマウントします。

+0

素晴らしい答えです。既存のファイルに接続する方法はありますか?私はsublimetextからコンテナ内の既存のファイルを編集したい。それが隠れているならそれは不可能です。 –

+0

@MuhammadUmerローカルホストフォルダをコンテナにマウントする前に、まずそのコンテナフォルダをローカルに配置する必要があります。 – VonC

+0

git pushをコンテナ内に置いて、そこに良い戦略を引っ張っています。これを感じて、貼り付けファイルをコピーするだけで複製が作成されるかもしれません。 –

関連する問題