Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика
Связь: @devmangx
РКН: https://clck.ru/3H4WUg
Post #2451
1.34K

Docker-ошибка, которую я вижу почти в каждом junior Dockerfile:
должно быть:
почему это важно?
docker кэширует каждую инструкцию как отдельный слой
исходный код меняется с каждым коммитом
поэтому
если поменять порядок, слой с установкой зависимостей остаётся в кэше даже при изменении кода, потому что он зависит только от
одна перестановка строк. экономит 40+ секунд на каждой пересборке. кэшируй зависимости, а не код.
👉 Java Portal
COPY . .
RUN npm install
должно быть:
COPY package*.json ./
RUN npm install
COPY . .
почему это важно?
docker кэширует каждую инструкцию как отдельный слой
исходный код меняется с каждым коммитом
поэтому
COPY . . ломает кэш, и всё после него (включая npm install) пересобирается с нуля при каждой сборкеесли поменять порядок, слой с установкой зависимостей остаётся в кэше даже при изменении кода, потому что он зависит только от
package.jsonодна перестановка строк. экономит 40+ секунд на каждой пересборке. кэшируй зависимости, а не код.
👉 Java Portal
- 👍 7
- ❤ 2







