私の質問は、コンテナからホストへのファイルのコピーに関するこの質問に関連しています。依存関係をフェッチし、ソースからビルドアーティファクトをコンパイルし、実行可能ファイルを実行するDockerfileがあります。ビルドアーティファクトもコピーしたい(私の場合は '../ target / `で.zip生成されたものですがsbt dist、この質問はjar、バイナリなどにも当てはまると思います)。
docker cp画像ではなくコンテナで機能します。ファイルを取り出すためだけにコンテナを起動する必要がありますか?スクリプト/bin/bashで、バックグラウンドでインタラクティブモードで実行し、ファイルをコピーしてからコンテナーを強制終了しようとしましたが、これは厄介なようです。もっと良い方法はありますか?
一方、1つのファイルを取得するためだけに.tar実行した後、ファイルをアンパックすることは避けたいと思いdocker save $IMAGENAMEます(ただし、今のところ、これが最も単純で、最も遅いオプションのようです)。
私はドッカーボリュームを使用します、例えば:
docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out
しかし、私はboot2dockerOSXで実行していて、Macホストファイルシステムに直接書き込む方法がわかりません(読み書きボリュームがboot2docker VM内にマウントされているためblah.zip、イメージから抽出するスクリプトを簡単に共有できません)その他。
createコマンドが追加/削除された