File size: 1,535 Bytes
204264d 6e08682 204264d 6e08682 204264d 6e08682 204264d 6e08682 204264d 6e08682 204264d 6e08682 204264d 6e08682 204264d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# Используем официальный образ Node.js 18 в slim-версии
FROM node:18-slim
# Устанавливаем рабочую директорию внутри контейнера
WORKDIR /usr/src/app
# Копируем package.json и package-lock.json для установки зависимостей
COPY package*.json ./
# Устанавливаем зависимости, необходимые для работы приложения
# Флаг --omit=dev пропускает установку devDependencies
RUN npm install --omit=dev
# Копируем все остальные файлы проекта в рабочую директорию
COPY . .
# Создаем директорию 'data', где будет храниться база данных SQLite
RUN mkdir ./data
# Меняем владельца всех файлов и папок в /usr/src/app на пользователя 'node'
# Это необходимо, чтобы приложение имело права на запись в эту директорию (например, для создания и изменения файла БД)
RUN chown -R node:node .
# Указываем, что контейнер будет слушать порт 7860
EXPOSE 7860
# Устанавливаем переменную окружения для production
ENV NODE_ENV=production
# Команда для запуска приложения при старте контейнера
CMD ["node", "server.js"]
|