でのコピーは次のように私は私のDockerfileのために持っているものです。それ以外の場合は、ソースファイルのみをイメージにコピーします。 これは意図したとおりに動作しますか?コピー特定の第1のファイルとすべてのDockerfile
答えて
これは2回コピーされます。 Dockerキャッシュは、現在のコマンドと前のレイヤーを調べます。現在のコマンドのDockerコンテキストで何かが変更された場合、そのコマンドは実行されます。実行に部分キャッシュを使用しません。
'node_modules'を1回だけコピーすることを保証する方法はありますか?私が今考えていることは、 '.dockerignore'ファイルに' node_modules'をリストすることですが、それ以外の方法があるのだろうかと思います。 –
保証する唯一の方法は、node_modulesをコピーしてから、COPYの代わりに他のすべてをコピーすることです。/src/ ディレクトリ内のすべてのものに対して個別のCOPYコマンドを実行し、まずnode_modulesのCOPYを実行します。もっと冗長で、より多くのレイヤーを作成します。しかし、それはnode_modulesが一度だけコピーされることを保証する唯一の方法です。 – mattsp1290
- 1. 第1ワークブックの値と第2ワークブックのカラムを一致させ、特定のセルをコピー
- 2. Linux特定のファイルをコピー
- 3. 特定のIDの外部Excelファイルからすべてのデータをコピー
- 4. 特定の文字で始まるすべてのファイルをコピーする
- 5. すべての行をコピーするExcelファイルから特定の行のみをコピーするPythonプログラム
- 6. Python 3 1つのcsvファイルから別のcsvファイルに特定の列をコピー
- 7. ファイル名と特定の文字列をコピーして、サブディレクトリ内のすべてのファイルの特定の部分に配置します。
- 8. なぜdockerfileコピーされていないディレクトリ私のdockerfileで
- 9. SBT内の特定のファイルをコピー
- 10. Dockerfileローカルリンクボリュームへの戦争コピー
- 11. 特定の名前の複数のフォルダにすべてのファイルとフォルダをコピーする
- 12. 複数のサブディレクトリから1つのフォルダに特定のファイルをコピーするR
- 13. 特定のファイルとフォルダのみをコピーするプログラムC#
- 14. ファイル1から2に特定の列全体をコピーしてください
- 15. 1行のファイルから特定の行に特定の文字数をコピーする方法
- 16. dockerfileでファイルとディレクトリをコピーする最も簡単な方法
- 17. 複数のリモートサーバーから1つの特定のデータをコピーし、バックアップとしてサーバーのCドライブにコピーする
- 18. Dockerfile COPYはファイルの古いコピーを取りますか?
- 19. 1つのテーブルの列からすべての値を別のテーブルの特定の列にコピー
- 20. Googleドライブの特定のフォルダから特定のファイルをコピーしようとしています
- 21. SQLはすべてのクエリの代わりに、特定の1
- 22. すべてのgitサブモジュールで1つの特定のブランチをチェックアウト
- 23. Bash:少数を除いて特定のタイプのすべてのファイルをコピーする
- 24. 特定の名前のファイルをPythonで特定のフォルダにコピーする
- 25. ファイルをコピーして、特定のコマンドを実行しますか?
- 26. コピー特定の列
- 27. コピー、特定のアイテム
- 28. 特定の条件を持つ特定のファイルを検索し、別のフォルダ内のすべてのファイルをコピーするpython
- 29. office Outlookルール:特定のユーザー以外のすべてのメッセージをコピーする
- 30. コピー1枚の空白のすべてのシートINCLD内のすべてのデータ
*「これは意図したとおりに動作しますか?」* - 試しましたか? – axiac
もちろん、私は試しましたが、node_modulesが1回、2回、または何もコピーされていないかどうかを私に知らせる方法はありません。私の質問は、このアプローチの効率性です。 –
'Dockerfile'のコマンドは、イメージが構築されるときに一度だけ実行されます。彼らの効率性については心配しません。とにかく、あなたのコマンドは 'node_directory'を2回コピーしていると思います。 Dockerイメージの 'node_modules'の内容を常に最新の状態にしたい場合は、それをイメージにコピーしないでください。 ['VOLUME'](https://docs.docker.com/engine/reference/builder/#volume)と[' -v'](https://docs.docker.com/engine/reference/commandline)を使用してください。/run /#mount-volume -v ---読み取り専用)コマンドラインオプションを使用して、毎回実行時にホストディレクトリをイメージの '/ src/node_modules'ディレクトリにマップします。 – axiac