Тема
Миграция standalone-версии на новый сервер
Введение
Данная инструкция применима в случаях, когда необходимо перенести standalone-версию сервисов Эсборд с одного сервера на другой.
1. Остановите контейнеры, запущенные через docker-compose
Во избежание возникновения конфликтов в создаваемых резервных копиях, рекомендуется остановить на старом сервере сервисы Эсборд. Для этого выполните следующую команду:
bash
docker-compose -f docker-compose.yml down
2. Создайте резервные копии volumes для Minio и PostgreSQL
Узнайте названия нужных volumes с помощью команды
docker volume ls
. Названия искомых volumes будут содержать в конце_minio_data
и_pg_data
соответственно.Скопируйте названия volumes и выполните следующие команды, заменив
<MINIO_VOLUME>
и<POSTGRES_VOLUME>
на нужные названия:
bash
docker run --rm -v <MINIO_VOLUME>:/data -v $(pwd):/backup alpine tar cf /backup/minio_data_backup.tar.gz -C /data .
docker run --rm -v <POSTGRES_VOLUME>:/data -v $(pwd):/backup alpine tar czf /backup/pg_data_backup.tar.gz -C /data .
- После выполнения команд в текущей папке появятся файлы резервных копий volumes:
minio_data_backup.tar.gz
иpg_data_backup.tar.gz
.
3. Примените резервные копии volumes на новом сервере
Скопируйте файлы
minio_data_backup.tar.gz
иpg_data_backup.tar.gz
на новый сервер.Перейдите на новом сервере в папку с резервными копиями и выполните следующие команды, заменив
<POSTGRES_VOLUME>
и<MINIO_VOLUME>
на значения, используемые на предыдущем этапе:
bash
docker volume create <MINIO_VOLUME>
docker volume create <POSTGRES_VOLUME>
docker run --rm -v <MINIO_VOLUME>:/data -v $(pwd):/backup alpine tar xf /backup/minio_data_backup.tar.gz -C /data
docker run --rm -v <POSTGRES_VOLUME>:/data -v $(pwd):/backup alpine tar xzf /backup/pg_data_backup.tar.gz -C /data
Обратите внимание
В случае, если volumes с указанными названиями уже существуют на новом сервере, рекомендуется их удалить. Для этого можно использовать команду docker volume rm <VOLUME>
- Повторите действия, которые использовались для разворачивания сервисов Эсборд на старом сервере.
Обратите внимание
Названия volumes, которые использует docker-compose, могут отличаться в зависимости от названия папки. Так, например, если запуск производился из папки app
командой docker-compose -f docker-compose.yml up -d --force-recreate
, то volumes будут иметь названия app_minio_data
и app_pg_data
. Подробнее: https://docs.docker.com/compose/how-tos/project-name