Добрый день, товарищи. На боевом сервере, что мне доверили, в docker-контейнерах крутится следующее: postgres, nginx, gitea, certbot, youtrack, registry, portainer и корпоративное приложение на java. Все контейнеры описаны в docker-compose, а все тома именованные. Насколько неправилен следующий алгоритм бэкапа:
- Останавливаю docker, чтобы не велась запись в тома;
- Тарболю /var/lib/docker/volumes/ вместе с docker-compose.yaml;
- Запускаю docker;
- Заливаю полученный тарбол на резервный сервер. В случае уничтожения основного сервера на резервном распаковываю в /var/lib/docker/volumes тома, запускаю docker-compose up. Насколько описанный способ самодостаточен, охватывает ли он все нюансы? Как я понимаю, вопрос резервирования в докере можно разбить на три части: резервирование образов, резервирование контейнеров и резервирование томов и все это можно делать встроенным средствами docker. Но резервировать образы я не вижу смысла, так как все они есть в docker hub. Смысл резервировать контейнеры тоже не ясен, так как я использую именованные тома и бэкаплю их. Бэкап томов средствами докера выглядит сложнее, чем банальный тарбол.