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

6.2 KiB
Raw Blame History

Миграция Docker образов на VDS

📋 Процесс миграции Docker образов

🎯 Как работает импорт Docker образов:

Автоматическая миграция (единственный способ)

  1. Запуск настройки VDS через форму
  2. Автоматический экспорт образов агентом из локального Docker
  3. Автоматическая передача образов агентом через SCP
  4. Автоматический импорт образов на VDS

🔧 Детальный процесс автоматической миграции:

1. Автоматический экспорт ВСЕХ образов приложения (агентом):

# Агент экспортирует ВСЕ образы приложения из локального 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. Автоматическая передача (агент):

# Передача архива на 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):

#!/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
  • Восстанавливать данные из бэкапа
  • Настраивать таблицы БД
  • Импортировать данные вручную
  1. VDS должен иметь достаточно места (минимум 10GB свободного места)

Если архива нет:

  • Агент покажет предупреждение
  • Образы будут собираться на VDS
  • Процесс займет больше времени

📝 Логи процесса:

Успешная миграция:

✅ Docker образы переданы на VDS
🚀 Импорт Docker образов на VDS...
📦 Импорт образа ollama...
📦 Импорт образа vector-search...
📦 Импорт образа backend...
📦 Импорт образа frontend-nginx...
📦 Импорт образа webssh-agent...
✅ Образы успешно импортированы!

Если архива нет:

⚠️ Локальный архив образов не найден. Образы будут собираться на VDS.
 Для ускорения процесса выполните: ./scripts/export-images.sh

Итог:

Импорт Docker образов настроен правильно и работает автоматически при наличии архива образов!