Перейти к содержанию

Перемещение Maildir (vmail)

«Новый» способ

Важно

Похоже, что новые версии Docker выдают предупреждения о существующих томах. Это можно временно исправить, удалив существующий том и запустив animails с файлом переопределения (override). Однако, это может вызвать проблемы после перезагрузки (требуется подтверждение).

Простой, «грязный», но стабильный обходной путь — остановить animails, удалить /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data и создать новую ссылку на расположение вашей удаленной файловой системы, например:

mv /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data_backup
ln -s /mnt/volume-xy/vmail_data /var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data

После этого запустите animails.


«Старый» способ

Если вы хотите использовать другую папку для тома vmail, вы можете создать файл docker-compose.override.yml и добавить в него следующее содержимое:

volumes:
  vmail-vol-1:
    driver_opts:
      type: none
      device: /data/animails/vmail   
      o: bind

Перемещение существующей папки vmail:

  • Найдите текущую папку vmail по атрибуту «Mountpoint»: docker volume inspect animailsdockerized_vmail-vol-1
[
    {
        "CreatedAt": "2019-06-16T22:08:34+02:00",
        "Driver": "local",
        "Labels": {
            "com.docker.compose.project": "animailsdockerized",
            "com.docker.compose.version": "1.23.2",
            "com.docker.compose.volume": "vmail-vol-1"
        },
        "Mountpoint": "/var/lib/docker/volumes/animailsdockerized_vmail-vol-1/_data",
        "Name": "animailsdockerized_vmail-vol-1",
        "Options": null,
        "Scope": "local"
    }
]
  • Скопируйте содержимое папки Mountpoint в новое место (например, /data/animails/vmail), используя cp -a, rsync -a или аналогичную команду копирования, не нарушающую структуру.
  • Остановите animails, выполнив следующую команду из корневой папки animails (например, /opt/animails):
docker compose down
docker-compose down    
  • Создайте файл docker-compose.override.yml, отредактируйте путь к устройству (device) соответствующим образом.
  • Удалите текущий том vmail: docker volume rm animailsdockerized_vmail-vol-1
  • Запустите animails, выполнив следующую команду из корневой папки animails (например, /opt/animails):
docker compose up -d
docker-compose up -d