/
RomanG9
/
web-nodejs-labs
Обзор
Документация
Войти
/
RomanG9
/
web-nodejs-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Dockerfile
33 строки
1 KB
abo22
dfgd12
23 дек 2025, 09:40
23 дек 2025, 09:40
57d9b61
Код
Авторство
О чём код?
# Dockerfile для Node.js v22 (Fastify + Статика) FROM node:22-alpine WORKDIR /app # --- Сборка зависимостей --- # Копируем ТОЛЬКО package.json, чтобы кешировать слой с node_modules COPY backend/package.json ./backend/package.json COPY backend/package-lock.json* ./backend/ # Переходим в папку, чтобы npm нашел package.json WORKDIR /app/backend # Устанавливаем все зависимости (включая dev для nodemon в dev режиме) RUN npm install # Возвращаемся в корень /app WORKDIR /app # --- Копирование всего остального кода --- # Копируем весь код бэкенда COPY backend/ ./backend # Копируем весь код фронтенда COPY public/ ./public # Копируем entrypoint скрипт COPY backend/docker-entrypoint.sh ./backend/docker-entrypoint.sh RUN chmod +x ./backend/docker-entrypoint.sh # Устанавливаем рабочую директорию по умолчанию для запуска WORKDIR /app/backend EXPOSE 3000 ENTRYPOINT ["./docker-entrypoint.sh"] CMD [ "npm", "start" ]