Открыть меню
Платформа Эра. Документация
Toggle preferences menu
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Обновление платформы через апгрейд докер-контейнера

Материал из Платформа Эра. Документации

В случаях, когда обновление через API невозможно, необходимо провести операцию апгрейда с заменой docker-образа и пересозданием контейнера.

Все данные, сохраненные в БД, а также файлы и каталоги в волюмах на хосте, остаются нетронутыми, и после запуска новой версии системы сохраняются и используются.

Важная информация

При обновлении платформы на версию 1.9 и выше, с более низких версий, после обновления потребуется переактивация лицензии. За токеном активации лицензии необходимо обратиться к вашему менеджеру. После переактивации лицензии, необходимо заново перераспределить её из мастер домена в продуктовые домены, а так же перераспределить параметры в самих продуктовых доменах.

Шаг 1. Выяснить текущее имя контейнера с платформой. Это имя формата "era<Postfix>", заданное при установке системы или при прошлом апгрейде.

Обнаружить его можно, выполнив команду:

docker ps -a

и найдя активный контейнер с указанным форматом имени.

Шаг 2. Сгенерировать строку запуска контейнера.

Можно вручную собрать с помощью шаблона в файле инсталлятора install.sh, или если есть интернет выполнить команду:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike <CurrentContainerName>

Где "<CurrentContainerName>" это имя текущего контейнера, выясненное на предыдущем шаге.

Данная команда выдаст в консоль строку запуска контейнера.

Данную строку необходимо сохранить, в дальнейшем она будет необходима.

ВАЖНО! Проверить в полученной команде наличия параметра "--restart unless-stopped". Без него контейнер не стартанет после будущего обновления.

Шаг 3. Загрузить новый образ

docker load -i <ImageFileName>

заменив "<ImageFileName>" на имя docker-образа с новой версией. Образ имеет имя формата "era_<VERSION>_docker.tar.gz".

Шаг 4. Остановить текущий контейнер:

docker container stop <CurrentContainerName>

Шаг 5. Запустить новый контейнер

Выполняем команду из пункта 2, заменив имя контейнера на новое. Например, если оригинальная команда была:

docker run --name era<Postfix1> ...

то она становится:

docker run --name era<Postfix2> ...

Новое имя контейнера необходимо для возможности быстрого отката на предыдущую версию. Второй контейнер с тем же именем не может быть создан и запущен. После запуска и проверки корректности состояния предыдущий контейнер можно удалить.

Шаг 6. Установить часовой пояс внутри контейнера

unlink /etc/localtime

ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Шаг 7. Проверить возможные линки на другие директории

era_meet: в рабочей директории "/var/lib/era/<MeetNode>/"