Docker i CI/CD · Middle · Pytanie 2 z 75
Dlaczego ten Dockerfile przeinstalowuje wszystkie zależności przy każdej zmianie kodu?
``dockerfile
COPY . .
RUN npm ci
- ✓Poprawna odpowiedź: Zmiana dowolnego pliku unieważnia
COPY . .inpm ci - 2
npm ciz założenia zawsze ignoruje cache budowania Dockera - 3
COPY . .musi być poRUN, inaczej budowanie się nie uda
Wyjaśnienie
Unieważnianie cache jest kaskadowe: gdy warstwa się zmieni, przebudowuje się każda kolejna. Skopiuj package.json i lockfile, uruchom npm ci, a dopiero potem skopiuj resztę.