Подготовка

Выполняем пункты 1.1.1, 1.2.1 на сервере КС2019

Создаем пользователя на сервере с КС2024 docker

Если установка КС2024 выполнялась под специальной УЗ (шаг 3 установки docker-compose инструкции), то следующий пункт можно пропустить

Создаем пользователя для миграции и добавляем его в группу докер:

useradd -u 1999 -G docker cddisk

Далее выполняем пункты 1.2.2.

Останавливаем ДС

Для остановки выполняем скрипт на сервере КС2024 внутри контейнера командой:

docker exec ds-app bash /usr/bin/documentserver-prepare4shutdown.sh

Или останавливаем контейнер:

docker stop ds-app

Проверяем, что файлы не открываются на редактирование.

Подключаем хранилище

Для этого в файле /etc/exports КС2019 вставим строку:

/var/www/r7-office/Data/Products/Files ip_docker_cs24/32(rw,nohide,all_squash,anonuid=1999,anongid=987,no_subtree_check)

где

  • ip_docker_cs24 — ip адрес сервера с докер версией КС24
  • anonuid=1999 — указываем 1999, если выполнялось создание нового пользователя cddisk
  • anongid=987 — указываем id группы докер

Выполняем пункт 2.2 на сервере КС2024

Настроим контейнеры

Добавляем порты rabbitmq

Откроем файл docker-compose-client.yml, расположенный в каталоге cddisk.
Добавляем в конфигурацию rabbitmq порты:

rabbitmq:
  env_file:
    - .env.overrides
    - .env.defaults
  image: cddisk-rabbitmq:latest
  restart: unless-stopped
  container_name: rabbitmq
  hostname: rabbitmq
  environment:
    - RABBITMQ_DEFAULT_USER=${r7_rabbitmq_user}
    - RABBITMQ_DEFAULT_PASS=${r7_rabbitmq_pass}
  ports:
    - 5672:5672

Порт слева можно указать другой.

Добавляем файл и директорию внутрь контейнера

Файл извлекаем из контейнера командой, находясь в директории cddisk:

docker cp processing:/opt/r7-office/Processing/appsettings.json ./

или заменив ./ на путь к директории cddisk.

Откроем файл appsettings.json на редактирование и изменим строку «CommunityRepository» к виду:

"ConnectionStrings": {
  "R7StorageServerUserActions": "Database=postgres;Username=postgres;Password=pg_pass;Host=postgres;Port=5432;",
  "R7StorageServer": "Database=postgres;Username=postgres;Password=pg_pass;Host=postgres;Port=5432;",
  "CommunityRepository": "Server=192.168.12.14;UserID=cddisk;Password=Password123!;Database=r7-office"

где

  • 192.168.12.14 — ip адрес сервера КС2019
  • cddisk — пользователь и его пароль, созданный в пункте 1.1.1

После в файле docker-compose-client.yml в блок processing добавляем volumes:

processing:
  env_file:
    - .env.overrides
    - .env.defaults
  image: cddisk-processing:latest
  container_name: processing
  hostname: processing
  restart: unless-stopped
  depends_on:
    postgres:
      condition: service_healthy
  volumes:
    - /mnt/cs:/mnt/cs:ro
    - ./appsettings.json:/opt/r7-office/Processing/appsettings.json

После сохранения изменений выполняем:

docker-compose -f docker-compose-client.yml up -d && docker restart ds-app

И убеждаемся, что контейнеры пересоздались и запущены
Миграция КС2019 в docker КС2024

Запускаем миграцию

Для этого открываем в браузере адрес

где cddisk.test21.s7-office.site — адрес диска КС2024

Ожидаем около 10-15 мин (точное время зависит от объема данных) до завершения миграции.