Skip to content

Миграция standalone-версии на новый сервер

Введение

Данная инструкция применима в случаях, когда необходимо перенести standalone-версию сервисов Эсборд с одного сервера на другой.

1. Остановите контейнеры, запущенные через docker-compose

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

bash
docker-compose -f docker-compose.yml down

2. Создайте резервные копии volumes для Minio и PostgreSQL

  1. Узнайте названия нужных volumes с помощью команды docker volume ls. Названия искомых volumes будут содержать в конце _minio_data и _pg_data соответственно.

  2. Скопируйте названия 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 .
  1. После выполнения команд в текущей папке появятся файлы резервных копий volumes: minio_data_backup.tar.gz и pg_data_backup.tar.gz.

3. Примените резервные копии volumes на новом сервере

  1. Скопируйте файлы minio_data_backup.tar.gz и pg_data_backup.tar.gz на новый сервер.

  2. Перейдите на новом сервере в папку с резервными копиями и выполните следующие команды, заменив <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>

  1. Повторите действия, которые использовались для разворачивания сервисов Эсборд на старом сервере.

Обратите внимание

Названия 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

Смотрите также