Initial commit
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
# Docker Setup для Sakai Vue
|
||||
|
||||
Этот проект настроен для работы с Docker. Ниже приведены инструкции по сборке и запуску приложения.
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
### 1. Сборка и запуск с Docker Compose
|
||||
|
||||
```bash
|
||||
# Сборка и запуск
|
||||
docker-compose up --build
|
||||
|
||||
# Запуск в фоновом режиме
|
||||
docker-compose up -d --build
|
||||
```
|
||||
|
||||
Приложение будет доступно по адресу: http://localhost:3000
|
||||
|
||||
### 2. Сборка и запуск с Docker
|
||||
|
||||
```bash
|
||||
# Сборка образа
|
||||
docker build -t sakai-vue .
|
||||
|
||||
# Запуск контейнера
|
||||
docker run -p 3000:80 sakai-vue
|
||||
```
|
||||
|
||||
## Структура Docker файлов
|
||||
|
||||
- `Dockerfile` - основной файл для сборки образа
|
||||
- `docker-compose.yml` - конфигурация для Docker Compose
|
||||
- `nginx.conf` - конфигурация Nginx для SPA приложения
|
||||
- `.dockerignore` - файлы, исключаемые из контекста сборки
|
||||
|
||||
## Особенности конфигурации
|
||||
|
||||
### Multi-stage build
|
||||
Dockerfile использует многоэтапную сборку:
|
||||
1. **Builder stage** - сборка приложения с Node.js
|
||||
2. **Production stage** - запуск с Nginx
|
||||
|
||||
### Nginx конфигурация
|
||||
- Поддержка Vue Router history mode
|
||||
- Gzip сжатие
|
||||
- Кэширование статических ресурсов
|
||||
- Security headers
|
||||
- Health check endpoint
|
||||
|
||||
### Health Check
|
||||
Приложение включает health check endpoint по адресу `/health`
|
||||
|
||||
## Команды для разработки
|
||||
|
||||
```bash
|
||||
# Остановка контейнеров
|
||||
docker-compose down
|
||||
|
||||
# Просмотр логов
|
||||
docker-compose logs -f
|
||||
|
||||
# Пересборка без кэша
|
||||
docker-compose build --no-cache
|
||||
|
||||
# Вход в контейнер
|
||||
docker exec -it sakai-vue-app sh
|
||||
```
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
Вы можете настроить переменные окружения в `docker-compose.yml`:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- API_URL=https://your-api.com
|
||||
```
|
||||
|
||||
## Производственное развертывание
|
||||
|
||||
Для продакшена рекомендуется:
|
||||
|
||||
1. Использовать конкретные версии образов
|
||||
2. Настроить SSL/TLS
|
||||
3. Использовать внешний reverse proxy
|
||||
4. Настроить мониторинг и логирование
|
||||
|
||||
```bash
|
||||
# Пример для продакшена
|
||||
docker run -d \
|
||||
--name sakai-vue-prod \
|
||||
--restart unless-stopped \
|
||||
-p 80:80 \
|
||||
-p 443:443 \
|
||||
-v /path/to/ssl:/etc/nginx/ssl \
|
||||
sakai-vue
|
||||
```
|
||||
Reference in New Issue
Block a user