Docker і CI/CD · Middle · Запитання 2 з 75
Чому цей Dockerfile перевстановлює всі залежності при кожній зміні коду?
``dockerfile
COPY . .
RUN npm ci
- ✓Правильна відповідь: Зміна будь-якого файлу інвалідує
COPY . .іnpm ci - 2
npm ciза задумом завжди ігнорує кеш збирання Docker - 3
COPY . .має йти післяRUN, інакше збирання падає
Пояснення
Інвалідація кешу каскадна: щойно шар змінився, перезбирається кожен наступний. Скопіюйте package.json і lock-файл, запустіть npm ci, а потім копіюйте решту.