Docker хранит свои контейнеры, тома и изображения в коллекции больших файлов под /var
что не лучший вариант для инкрементного резервного копирования.
Я понимаю, что с Bareos резервное копирование баз данных MySQL имеет ту же проблему и это можно сделать с помощью bpipe.
Как я могу сделать резервную копию контейнеров Docker (и образов, хотя для этого есть другое решение *), чтобы их можно было легко восстановить на том же или другом компьютере?
*(Есть также реестр докеров, что позволит вам push
изображения в удаленный репозиторий, который также работает немного как резервное копирование, но без установки резервного копирования. И это работает только для изображений, а не для контейнеров или томов.)
Для изображений один из способов сделать это - использовать спасти команда, предлагаемая Docker. Запустив:
$ docker save --output output_filename.tar your_image
, Docker сохранит указанное вами изображение в tar-файле в каталоге, в котором вы сейчас находитесь. После этого вы сможете сохранить этот образ или переместить его на другой компьютер.
Для контейнеров вы можете использовать экспорт команда. Это сохранит файловую систему contianer в tar-файле. Это делается запуском: docker export --output="output_filename.tar" your_container
.
Для использования изображения вы можете использовать грузить команда для импорта файла tar. Это можно сделать, запустив: $ docker load --input your_image.tar
.