2017-12-27 8 views
2

ドッキング・コンテナが正常に動作しています。ディレクトリ/Project/userfiles.txtに少数のファイルを生成します。私はいくつかのテスト目的のためにこれらのファイルが必要です。しかし、このコンテナが停止すると、すべてが削除されます。だから私はコンテナからホストにこのファイルをコピーする必要があります。ドッキング・コンテナからホストにファイルを共有する方法

ファイルを生成しているコンテナでPythonアプリケーションを実行しています。私はいくつかのコマンドや、コンテナが停止したときに最後にuserfiles.txtをホストに送信できる方法が必要です。

これを行うにはdocker cpコマンドを使用できますが、試しましたが、ドッカーがインストールされていないため、エラーdocker not foundが届きました。

ファイルをコンテナからホストに共有するにはどうすればよいですか?

+0

はどこ 'ドッキングウィンドウのcp'を実行していますか? – vivekyad4v

+0

@ vivekyad4v申し訳ありませんが、コードがそこで実行されているので、コンテナ内のdocker cpを実行していました。 –

+0

ホスト自体で実行できます。コンテナ内で実行する特定の理由はありますか? – vivekyad4v

答えて

1

/Projectに書き込まれたファイルが確実に保持されるように、volume(バインドマウント)を使用してください。意味

volumes

あなたは-v /host/path:/Projectオプションを使用してイメージを実行ドッカする必要があります。 (あなたのコンテナでホストフォルダを共有することで)最も簡単な方法のための
見る「Use bind mounts」ではない、容器内のホスト&上

+0

あなたはもっと説明できますか?ドッカーが '-v/host/path:/ Project'を実行すると、コンテナが停止した後で、'/host/path'に 'userfile.txt'があります。 –

+0

まさにそこにアクセスすることができます。 – VonC

1

使用docker cp。あなたのケースでは、コマンドは以下のように見えるかもしれ - あなたはdocker cpコマンドを実行した場所からディレクトリ内のホスト上のファイルを取得しますコマンド終了後

$ docker cp mycontainer:/Project/userfiles.txt userfiles.txt

PS - コンテナが停止状態であっても動作することを確認しただけです。例えば ​​-

$ docker cp 9059e95cbe33:/etc/rc.local rc.local

9059e95cbe33 - 終了しましたコンテナのID /名前

関連する問題