🐛 Исправление Docker сборки
🔧 Исправления: - Обновлена версия Node.js с 18 до 20 (поддержка NestJS 11+) - Исправлена установка зависимостей в builder stage (нужны dev зависимости для сборки) - Оптимизирована финальная стадия (только production зависимости) - Восстановлен файл stack.env.example - Использован --omit=dev вместо устаревшего --only=production ✅ Теперь Docker сборка должна работать корректно
This commit is contained in:
18
Dockerfile
18
Dockerfile
@ -1,5 +1,5 @@
|
||||
# Многоступенчатая сборка для оптимизации размера образа
|
||||
FROM node:18-alpine AS builder
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
# Устанавливаем рабочую директорию
|
||||
WORKDIR /app
|
||||
@ -7,8 +7,8 @@ WORKDIR /app
|
||||
# Копируем файлы зависимостей
|
||||
COPY package*.json ./
|
||||
|
||||
# Устанавливаем зависимости
|
||||
RUN npm ci --only=production && npm cache clean --force
|
||||
# Устанавливаем ВСЕ зависимости (включая dev для сборки)
|
||||
RUN npm ci && npm cache clean --force
|
||||
|
||||
# Копируем исходный код
|
||||
COPY . .
|
||||
@ -17,7 +17,7 @@ COPY . .
|
||||
RUN npm run build
|
||||
|
||||
# Финальный образ
|
||||
FROM node:18-alpine AS production
|
||||
FROM node:20-alpine AS production
|
||||
|
||||
# Создаем пользователя для безопасности
|
||||
RUN addgroup -g 1001 -S nodejs
|
||||
@ -26,10 +26,14 @@ RUN adduser -S nestjs -u 1001
|
||||
# Устанавливаем рабочую директорию
|
||||
WORKDIR /app
|
||||
|
||||
# Копируем зависимости из builder
|
||||
COPY --from=builder --chown=nestjs:nodejs /app/node_modules ./node_modules
|
||||
# Копируем package files
|
||||
COPY package*.json ./
|
||||
|
||||
# Устанавливаем только production зависимости
|
||||
RUN npm ci --omit=dev && npm cache clean --force
|
||||
|
||||
# Копируем собранное приложение из builder
|
||||
COPY --from=builder --chown=nestjs:nodejs /app/dist ./dist
|
||||
COPY --from=builder --chown=nestjs:nodejs /app/package*.json ./
|
||||
|
||||
# Устанавливаем пользователя
|
||||
USER nestjs
|
||||
|
Reference in New Issue
Block a user