modified: main_dc/yalarba/easySite/easySite/Dockerfile

change the Docerfile
This commit is contained in:
2025-10-28 07:30:47 +05:00
parent e7c5123f14
commit 32b0754395
+27 -13
View File
@@ -1,27 +1,41 @@
# Multi-stage build # Dockerfile
FROM node:20-alpine AS builder FROM node:20-alpine
# Установка зависимых системных библиотек (для sharp и других)
RUN apk add --no-cache \
python3 \
make \
g++ \
libc6-compat
WORKDIR /app WORKDIR /app
# Копируем package files
COPY package*.json ./ COPY package*.json ./
COPY nuxt.config.ts ./
COPY tsconfig.json ./
# Устанавливаем зависимости
RUN npm ci RUN npm ci
# Копируем исходный код
COPY . . COPY . .
# Собираем приложение
RUN npm run build RUN npm run build
FROM node:20-alpine AS production # Создаем непривилегированного пользователя для безопасности
RUN apk add --no-cache curl
WORKDIR /app
COPY --from=builder /app/package*.json ./
RUN npm ci --only=production
COPY --from=builder /app/.output ./.output
RUN addgroup -g 1001 -S nodejs RUN addgroup -g 1001 -S nodejs
RUN adduser -S nuxtjs -u 1001 RUN adduser -S nuxtjs -u 1001
# Меняем владельца файлов
RUN chown -R nuxtjs:nodejs /app RUN chown -R nuxtjs:nodejs /app
# Переключаемся на непривилегированного пользователя
USER nuxtjs USER nuxtjs
# Экспортируем порт
EXPOSE 3000 EXPOSE 3000
CMD ["node", ".output/server/index.mjs"] # Запускаем приложение
CMD ["npm", "run", "start"]