При обновлении
Перед обновлением платформа обязательно должна быть запущена, так как происходит бэкап БД сервиса mongodb.
Если предполагается обновление платформы, используя Yandex Container Registry, то копирование файлов дистрибутива не требуется.
Перед обновлением важно убедиться, что у пользователя, из-под которого будет происходить обновление, есть все права на выполнение команды docker или производить обновление из-под суперпользователя. Подробнее здесь Общая часть обновления.
Обновление через Yandex Container Registry
Войдите в Yandex Container Registry:
docker login \ --username oauth \ --password <token> \ cr.yandex
где
<token>
- токен, полученный из запроса https://oauth.yandex.ru/authorize?response_type=token&client_id=1a6990aa636648e9b2ef855fa7bec2fbУстановите образ обновления:
docker pull cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1
Создать новую папку и перейти в неё. Скрипты запуска появятся в ней.
Запустить обновление.
docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /home/visio/visio3.0/visiology-certs:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l hub $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Сделать исполняемым скрипт run.sh, выполнив команду:
sudo chmod +x *.sh
Запуск платформы выполнять не нужно, он произойдет автоматически в процессе обновления.
Обновление через образы
Скопировать дистрибутив платформы на сервер, сохраняя структуру вложенных элементов.
На сервере перейти в скопированную папку с дистрибутивом.
Сделать исполняемыми скрипты load_images.sh, load_from_release_dockerhub.sh, run.sh, выполнив команду:
sudo chmod +x *.sh
Загрузить образ обновления в память.
docker load < images/update.tar.gz
Перейти в папку с дистрибутивами и запустить обновление. Скрипты запуска появятся в текущей директории.
docker run -it \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /docker-volume:/docker-volume \ -v /var/lib/visiology:/mnt/visiology \ -v /home/visio/visio3.0/visiology-certs:/mnt/certs \ -v $(pwd):/mnt/volume \ -v $HOME/.docker:/root/.docker \ cr.yandex/crpe1mi33uplrq7coc9d/visiology/release/update:2.30_3.1 \ -l local $(pwd) \ $(id -u):$(cut -d: -f3 < <(getent group $(id -gn))) | \ tee update-log-$(date +%Y-%m-%d-%H-%M-%z).txt
Запуск платформы выполнять не нужно, он произойдет автоматически в процессе обновления.