Перемещение 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