Добавил докер образ для приложения

This commit is contained in:
Sergey Petrov 2025-03-10 22:24:35 +03:00
parent 02df1257ed
commit fae37cfb28
6 changed files with 58 additions and 9 deletions

6
.dockerignore Normal file
View File

@ -0,0 +1,6 @@
node_modules
npm-debug.log
.env
.git
.gitignore
README.md

4
.env
View File

@ -1,4 +0,0 @@
PORT=3000
API_TOKEN=b4c8e9c9-73e4-4669-b75b-3ad625721286
API_URL=https://sd.nubes.ru/pub/v1/app/employees/employees_upload/list
API_PAGE_SIZE=1000

5
.env.example Normal file
View File

@ -0,0 +1,5 @@
PORT=3000
API_TOKEN=
API_URL=
API_PAGE_SIZE=1000

2
.gitignore vendored
View File

@ -4,7 +4,7 @@ package-lock.json
.idea/ .idea/
# Переменные окружения # Переменные окружения
.env.* .env
# Логи # Логи
npm-debug.log* npm-debug.log*

20
Dockerfile Normal file
View File

@ -0,0 +1,20 @@
# Используем официальный образ Node.js
FROM node:20-alpine
# Создаем директорию приложения
WORKDIR /app
# Копируем файлы package.json и package-lock.json
COPY package*.json ./
# Устанавливаем зависимости
RUN npm install
# Копируем исходный код приложения
COPY . .
# Открываем порт
EXPOSE 3000
# Запускаем приложение
CMD ["npm", "start"]

View File

@ -2,16 +2,37 @@
Телефонный справочник сотрудников на Node.js. Телефонный справочник сотрудников на Node.js.
## Установка ## Установка и запуск
### Локальный запуск
```bash ```bash
# Установка зависимостей
npm install npm install
# Запуск приложения
npm start
``` ```
## Запуск Приложение будет доступно по адресу: http://localhost:3000
### Запуск через Docker
1. Создайте файл `.env` на основе `.env.example`:
```bash ```bash
npm start cp .env.example .env
```
2. Отредактируйте `.env` файл, указав необходимые значения.
3. Соберите Docker образ:
```bash
docker build -t phone-book .
```
4. Запустите контейнер:
```bash
docker run -p 3000:3000 --env-file .env phone-book
``` ```
Приложение будет доступно по адресу: http://localhost:3000 Приложение будет доступно по адресу: http://localhost:3000
@ -24,4 +45,5 @@ npm start
- Node.js - Node.js
- Express - Express
- node-fetch - node-fetch
- Docker