AZykov (обсуждение | вклад) |
AZykov (обсуждение | вклад) |
||
| Строка 39: | Строка 39: | ||
=== Шаг 6. Установить часовой пояс внутри контейнера === | === Шаг 6. Установить часовой пояс внутри контейнера === | ||
Для выполнения команд внутри контейнера необходимо запустить sh следующей командой: | |||
<code>docker exec -it <mycontainer> sh</code> | |||
unlink /etc/localtime | unlink /etc/localtime | ||
ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime | ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime | ||
=== Шаг 7. Проверить возможные линки на другие директории === | |||
era_meet: в рабочей директории "/var/lib/era/<MeetNode>/" | era_meet: в рабочей директории "/var/lib/era/<MeetNode>/" | ||
Версия от 13:23, 14 апреля 2025
В случаях, когда обновление через 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. Установить часовой пояс внутри контейнера
Для выполнения команд внутри контейнера необходимо запустить sh следующей командой:
docker exec -it <mycontainer> sh
unlink /etc/localtime ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Шаг 7. Проверить возможные линки на другие директории
era_meet: в рабочей директории "/var/lib/era/<MeetNode>/"