Multi-stage builds и правильный .dockerignore могут уменьшить размер образа в несколько раз. Вместо этого:
Используйте:
А в .dockerignore добавьте node_modules, .git, tests. Образы собираются быстрее и занимают меньше места в registry.
Альтернативный подход - Buildpacks, но они менее гибкие в настройке.
#Docker #optimization #DevOps
FROM node:18
COPY . .
RUN npm install
RUN npm run build
Используйте:
FROM node:18-alpine AS builder
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /build /usr/share/nginx/html
А в .dockerignore добавьте node_modules, .git, tests. Образы собираются быстрее и занимают меньше места в registry.
Альтернативный подход - Buildpacks, но они менее гибкие в настройке.
#Docker #optimization #DevOps
👍4