2017-09-21 38 views
0

私のドッカー作成では、ローカルフォルダをDockerのフォルダにマウントしています。マウントされたボリュームをDockerfileのCMDで確認して使用できますが、RUNでは使用できません。 RUNはドキュメントから完全にクリーンなレイヤーのようです。 RUNでdocker-composeファイルで指定されたマウントポイントを使用できるようにする方法はありますか?ドッカーラン層にマウントされているボリュームがありません

答えて

1

docker自体、docker-compose、その他のツールを使用するかどうかにかかわらず、docker buildプロセス中にボリュームをマウントすることはできません。考えられるのは、ビルドプロセスはできるだけ環境に依存していると考えられているため、結果のイメージはローカルシステムに依存しないため、より簡単に共有することができます。

一般的に、ビルドプロセスにデータを公開する必要がない、解決しようとしている問題に接近する代替方法があります。

1

は、実際には、新しいレイヤーを作成するために実行するコマンドを提供するために使用されるコンテナ RUNを起動したときに実行され、引数またはコマンドを提供するために使用されCMD

CMDRUNの間には大きな違いがあります。

要するに、ビルドステップ(RUNが実行されているとき)ではボリュームが利用できません。ビルドステップで

  • は、コンテキストが渡されます。

    ドッカーコンテナは、「外部」ファイルを提供する2つの方法があります。

  • 実行ステップでは、コンテナレイヤ+ボリュームが使用されます。

CMDを参照してください:

RUNを参照してください:

は参照:

関連する問題