Обновление версии¶
Пошаговая инструкция по обновлению Р13.Орбита до новой версии.
Подготовка¶
1. Проверка текущей версии¶
2. Резервное копирование¶
Обязательно создайте резервную копию перед обновлением:
3. Проверка новой версии¶
Изучите История изменений для понимания: - Новых возможностей - Исправленных ошибок - Breaking changes - Требований к миграции
Процедура обновления¶
Шаг 1: Загрузка нового образа¶
Шаг 2: Остановка текущего контейнера¶
Шаг 3: Создание резервной копии контейнера¶
Шаг 4: Удаление старого контейнера¶
Шаг 5: Запуск новой версии¶
docker run -d \
--name orbita \
--restart unless-stopped \
-p 8000:8000 \
--env-file .env \
-v $(pwd)/domains:/app/domains \
-v $(pwd)/logs:/app/logs \
your-registry.company.com/orbita:1.3.0
Шаг 6: Проверка работоспособности¶
# Проверка health check
curl http://localhost:8000/health
# Проверка версии
curl http://localhost:8000/health | jq '.version'
# Проверка логов
docker logs orbita --tail 50
Обновление через Docker Compose¶
Если используете Docker Compose:
1. Обновите docker-compose.yml¶
services:
orbita:
image: your-registry.company.com/orbita:1.3.0 # Новая версия
# ...остальная конфигурация
2. Примените изменения¶
Docker Compose автоматически: - Загрузит новый образ - Остановит старый контейнер - Запустит новый контейнер
Откат к предыдущей версии¶
Если возникли проблемы:
Вариант 1: Использование старого образа¶
docker stop orbita
docker rm orbita
docker run -d \
--name orbita \
--restart unless-stopped \
-p 8000:8000 \
--env-file .env \
-v $(pwd)/domains:/app/domains \
-v $(pwd)/logs:/app/logs \
your-registry.company.com/orbita:1.2.5 # Старая версия
Вариант 2: Использование резервной копии¶
Вариант 3: Docker Compose¶
Миграция данных¶
Некоторые обновления требуют миграции данных:
Проверьте История изменений - там указано, требуется ли миграция.
Тестирование после обновления¶
- API отвечает на запросы
- Swagger UI доступен
- CLI подключается к API
- Простой запрос выполняется успешно
- Датасеты доступны
- Визуализации создаются
- Логи не содержат ошибок
Обновление в production¶
Zero-downtime обновление¶
Для обновления без остановки сервиса:
- Запустите новую версию на другом порту
- Переключите load balancer на новый порт
- Дождитесь завершения активных запросов на старой версии
- Остановите старую версию
# Запуск новой версии
docker run -d \
--name orbita-new \
-p 8001:8000 \
--env-file .env \
-v $(pwd)/domains:/app/domains \
your-registry.company.com/orbita:1.3.0
# Проверка
curl http://localhost:8001/health
# Переключение nginx/load balancer
# ...
# Остановка старой версии
docker stop orbita
docker rename orbita orbita-old
docker rename orbita-new orbita
Следующие шаги¶
- Резервное копирование - стратегии бэкапов
- Восстановление - процедуры восстановления
- Решение проблем - если что-то пошло не так