Files
DLE/docs/docker-images-migration.md

128 lines
6.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Миграция Docker образов на VDS
## 📋 Процесс миграции Docker образов
### **🎯 Как работает импорт Docker образов:**
#### **Автоматическая миграция (единственный способ)**
1. **Запуск настройки VDS** через форму
2. **Автоматический экспорт** образов агентом из локального Docker
3. **Автоматическая передача** образов агентом через SCP
4. **Автоматический импорт** образов на VDS
### **🔧 Детальный процесс автоматической миграции:**
#### **1. Автоматический экспорт ВСЕХ образов приложения (агентом):**
```bash
# Агент экспортирует ВСЕ образы приложения из локального Docker
docker save dapp-postgres:latest -o /tmp/dapp-postgres.tar # PostgreSQL с данными БД
docker save dapp-ollama:latest -o /tmp/dapp-ollama.tar # Ollama AI сервис
docker save dapp-vector-search:latest -o /tmp/dapp-vector-search.tar # Vector Search
docker save dapp-backend:latest -o /tmp/dapp-backend.tar # Backend API
docker save dapp-frontend-nginx:latest -o /tmp/dapp-frontend-nginx.tar # Frontend + Nginx
docker save dapp-webssh-agent:latest -o /tmp/dapp-webssh-agent.tar # WebSSH Agent
# Создание архива с ВСЕМИ образами
tar -czf /tmp/docker-images.tar.gz dapp-postgres.tar dapp-ollama.tar dapp-vector-search.tar dapp-backend.tar dapp-frontend-nginx.tar dapp-webssh-agent.tar
```
#### **2. Автоматическая передача (агент):**
```bash
# Передача архива на VDS через SCP
scp /tmp/docker-images.tar.gz ubuntu@vds:/home/docker/dapp/docker-images.tar.gz
# Создание скрипта импорта на VDS
# Импорт образов
cd /home/docker/dapp && ./import-images.sh
```
#### **3. Импорт образов (на VDS):**
```bash
#!/bin/bash
# Скрипт import-images.sh создается агентом
# Распаковка архива
tar -xzf ./docker-images.tar.gz -C ./temp-images
# Импорт ВСЕХ образов приложения
docker load -i ./temp-images/dapp-postgres.tar # PostgreSQL с данными БД
docker load -i ./temp-images/dapp-ollama.tar # Ollama AI сервис
docker load -i ./temp-images/dapp-vector-search.tar # Vector Search
docker load -i ./temp-images/dapp-backend.tar # Backend API
docker load -i ./temp-images/dapp-frontend-nginx.tar # Frontend + Nginx
docker load -i ./temp-images/dapp-webssh-agent.tar # WebSSH Agent
# Очистка временных файлов
rm -rf ./temp-images
```
### **📦 Содержимое архива образов:**
| Образ | Назначение | Размер (примерно) |
|-------|------------|-------------------|
| `dapp-postgres:latest` | PostgreSQL с данными БД | ~400MB |
| `dapp-ollama:latest` | AI модели | ~4GB |
| `dapp-vector-search:latest` | Векторный поиск | ~500MB |
| `dapp-backend:latest` | Backend API | ~300MB |
| `dapp-frontend-nginx:latest` | Frontend + Nginx | ~200MB |
| `dapp-webssh-agent:latest` | SSH агент | ~150MB |
### **⚡ Преимущества автоматической миграции:**
#### **✅ Скорость:**
- **С образами:** ~5-10 минут (включая PostgreSQL с данными)
- **Без образов:** ~30-60 минут (сборка на VDS + настройка БД)
#### **✅ Надежность:**
- **PostgreSQL с данными** - все переменные в зашифрованных таблицах
- Проверенные образы с локальной машины
- Нет риска ошибок сборки на VDS
- Быстрое восстановление при сбоях
#### **✅ Консистентность:**
- Одинаковые образы на локальной машине и VDS
- **База данных с настройками** - готова к работе
- Нет различий в версиях зависимостей
### **🚨 Важные моменты:**
#### **Предварительные требования:**
1. **Образы должны быть собраны** на локальной машине
2. **PostgreSQL образ содержит данные БД** - готовая база с настройками
3. **Агент НЕ создает БД** - использует готовую из образа
#### **Что НЕ нужно делать:**
- ❌ Создавать базу данных на VDS
- ❌ Восстанавливать данные из бэкапа
- ❌ Настраивать таблицы БД
- ❌ Импортировать данные вручную
3. **VDS должен иметь достаточно места** (минимум 10GB свободного места)
#### **Если архива нет:**
- Агент покажет предупреждение
- Образы будут собираться на VDS
- Процесс займет больше времени
### **📝 Логи процесса:**
#### **Успешная миграция:**
```
✅ Docker образы переданы на VDS
🚀 Импорт Docker образов на VDS...
📦 Импорт образа ollama...
📦 Импорт образа vector-search...
📦 Импорт образа backend...
📦 Импорт образа frontend-nginx...
📦 Импорт образа webssh-agent...
✅ Образы успешно импортированы!
```
#### **Если архива нет:**
```
⚠️ Локальный архив образов не найден. Образы будут собираться на VDS.
Для ускорения процесса выполните: ./scripts/export-images.sh
```
## ✅ **Итог:**
**Импорт Docker образов настроен правильно и работает автоматически при наличии архива образов!**