128 lines
6.2 KiB
Markdown
128 lines
6.2 KiB
Markdown
# Миграция 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 образов настроен правильно и работает автоматически при наличии архива образов!**
|