ты сначала копируешь свой файл, который тянет зависимости, а потом копируешь то, что скачалось по зависимостям :)
первый copy приземляет единственный файл package.json, на основании которого npm install притащит из интернета пол-гига своих node_modules второй copy притаскивает все остальные файлы возможно, так сделано, чтобы все остальные файлы не влияли на работу npm install
🤔 Хм, вряд ли она могут влиять, но я понял - спасибо
package-lock.json - может
А, да, забыл про него
И npm ci вместо npm install
как в этом примере - сначала устанавливаются зависимости, и если они не изменяются, то следующие сборки образа переиспользуют скешированные слои
Докер будет проверять изменился ли package.json и если нет, то не будет делать install?
почти, он проверит изменился ли package.json, и если нет, то использует кеш для этих слоев
Обсуждают сегодня