Как я могу создавать резервные копии томов в IBM Docker Cloud в Bluemix?

Я знаю, как сохранять образы докеров, когда я могу получить к ним локальный доступ, но как мне сделать резервную копию контейнера томов на платформе IBM Bluemix?

Спасибо Анси

2 ответа

Решение

Самый простой способ сделать резервную копию тома (удаленного) контейнера - это смонтировать том на другом томе и скопировать его: после завершения tar вы можете загрузить его, используя scp / sftp / ftp / http или службу, которую вы предпочитаете подключать к контейнеру. (также в зависимости от услуг, доступных на нем).

Чтобы смонтировать том в другом контейнере, вы можете использовать флаг --volumes-from для создания нового контейнера, монтирующего этот том:

docker run --volumes-from [source container] -v /volume_backup ubuntu tar cvf /volume_backup/backup.tar /path_to_backup

Эта команда запускает новый контейнер и монтирует том из контейнера [source container], используя тот же путь /path_to_backup. Затем здесь создается новый том и монтируется на / резервную копию пути.

Наконец, запускается tar-файл для хранения содержимого тома /path_to_backup в файле backup.tar внутри каталога / backup.

Когда команда завершается, даже если контейнер был остановлен, резервная копия содержится в другом томе: вы можете смонтировать этот том в другом контейнере, чтобы загрузить его, или нажать / вытащить / загрузить или куда угодно.

Эту резервную копию также можно просто восстановить, взяв tar по пути /path_to_backup первого контейнера.

В противном случае вы можете использовать этот готовый контейнер, полезный для резервного копирования: https://github.com/docker-infra/docker-backup

Здесь вы можете найти документы Docker для управления томами Docker: единственное отличие состоит в том, что вам следует подумать о способе перемещения / копирования резервной копии в локальной среде или там, где вы хотите хранить резервные копии томов.

http://docs.docker.com/v1.8/userguide/dockervolumes/

2 возможности, которые я нашел до сих пор:

A - Первая возможность, используя некоторые приятные инструменты для резервного копирования в облачном хранилище для Linux: http://www.cloudberrylab.com/backupcmd_nix.aspx

1- Сначала установите:

dpkg -i ubuntu14_CloudBerryLab_CloudBerryBackup_v1.10.0.112_20161110193906.deb

2- лицензия:

cbb activateLicense -e "my.adressmail@zanzibarrr.com" -t

3 - добавить объект учетной записи

cbb addAccount -d testCOS -st S3Compatible -ac wfkNMxTXjE1wRlCDYW9A -sk UMsSQfQGsgbhnKIieYgNAwOh218FUlvCfnpFlV5k -ep http://myendpoint -c demovaultbucket -bp testbkpclientcloudfoundry

Например, вы собираетесь:

backup all the files from the "/home/NAME/Documents/" directory;
exclude the "/home/NAME/Documents/books/" folder;
use compression;
run every workday at 23:00;
receive notification on completion:

4 - добавить план для вашей резервной копии

cbb addBackupPlan -n "Backup my docs" -a "testCOS" -f "/home/NAME/Documents/" -ef "/home/NAME/Documents/books/" -c yes -every week -at "23:00" -weekday "mo, tu, we, th, fr" -notification on

5- добавить другой план для вашей резервной копии

cbb addBackupPlan -n "Backup my docs 2" -a "testCOS" -f "/root" yes -every week -at "13:00" -weekday "mo, tu, we, th, fr"

root@bluemix:~# cbb plan  -l
CloudBerry Backup Command Line Interface started
Trial expires in 15 day(s)
Backup my docs 2 : Stopped
Backup my docs 3 : Stopped
Backup my docs   : Stopped
Backup my docs   : Stopped

5- запусти

root@bluemix:~# cbb plan -free -r "Backup my docs 3"
CloudBerry Backup Command Line Interface started
Trial expires in 15 day(s)
Success

B - используя хранилище реестра в Bluemix S3-совместимом хранилище, вам нужно будет создать учетную запись хранилища объектов и несколько контейнеров в bluemix (здесь http://www.softlayer.com/object-storage):

Вы получите ключ и пропуск для каждой учетной записи хранения объекта, затем в этом примере мы создадим 2 сегмента. Кстати, конечная точка зависит от вас, в моем случае я использовал менее дорогой в Далласе.

ключ: XXXXXXXXXXXXXX PASS: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Мои 2 корзины: demodockerbucket (используется для теста) demodockerbucket_fixed (для хранения моего контейнера, когда конфигурация соответствует моим потребностям)

docker run -d -p 5000:5000 -e "REGISTRY_STORAGE=s3" -e "REGISTRY_STORAGE_S3_REGION=generic" -e "REGISTRY_STORAGE_S3_REGIONENDPOINT=https://s3-api.dal-us-geo.objectstorage.softlayer.net/" -e "REGISTRY_STORAGE_S3_BUCKET=demodockerbucket" -e "REGISTRY_STORAGE_S3_ACCESSKEY=XXXXXXXXXXXXXX" -e "REGISTRY_STORAGE_S3_SECRETKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -e "REGISTRY_STORAGE_S3_SECURE=true" -e "REGISTRY_STORAGE_S3_ENCRYPT=false" registry

Затем поиграйте с вашим контейнером, вытяните его в хранилище объектов или верните:

docker pull ubuntu
docker pull sameersbn/openfire:latest
docker pull debian
docker tag ubuntu localhost:5000/ubuntu
docker tag sameersbn/openfire localhost:5000/openfire
docker tag debian localhost:5000/debian
docker push localhost:5000/openfire
docker push localhost:5000/ubuntu
docker push localhost:5000/debian
docker pull localhost:5000/openfire
docker pull localhost:5000/ubuntu
docker pull localhost:5000/debian
docker run -d -p 5000:5000 -e "REGISTRY_STORAGE=s3" -e "REGISTRY_STORAGE_S3_REGION=generic" -e "REGISTRY_STORAGE_S3_REGIONENDPOINT=https://s3-api.dal-us-geo.objectstorage.softlayer.net/" -e "REGISTRY_STORAGE_S3_BUCKET=demodockerbucket_fixed" -e "REGISTRY_STORAGE_S3_ACCESSKEY=XXXXXXXXXXXXXX" -e "REGISTRY_STORAGE_S3_SECRETKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -e "REGISTRY_STORAGE_S3_SECURE=true" -e "REGISTRY_STORAGE_S3_ENCRYPT=false" registry
docker run --name='openfire' -i -t --rm -p 192.168.56.108:9090:9090 -p 192.168.56.108:5222:5222 -p 192.168.56.108:7777:7777 -p 192.168.56.108:5275:5275 localhost:5000/openfire
Другие вопросы по тегам