Использование Volumerize для резервного копирования томов докеров с помощью scp?

У меня есть пара томов докеров, которые я хочу сделать резервными копиями на другой сервер, используя scp/sftp. Я не знаю, как с этим справиться, поэтому я решил взглянуть на проект blacklabelops/volumerize GitHub.

Этот инструмент основан на инструменте командной строки Duplicity. Dockerized и Parameterized для более простого использования и настройки. Учебное пособие имеет дело с докером jenkins, но я не понимаю, как упомянуть, что я хочу используйте pem-файл.

Я пробовал другое решение (добавляя параметр -i в командную строку scp) без каких-либо успехов на данный момент.

справочная страница Duplicity упоминает использование pem-файлов cacert (--ssl-cacert- file), но я полагаю, что мне нужно создать переменную env при запуске докера (с опцией -e), и я не знаю, какое имя использовать.

Вот что у меня есть до сих пор, может ли кто-нибудь указать мне правильное направление?

docker run -d --name volumerize -v jenkins_volume:/source:ro -v backup_volume:/backup     -e "VOLUMERIZE_SOURCE=/source"  -e "VOLUMERIZE_TARGET=scp://me@serverip/home/backup" blacklabelops/volumerize

person Tanc    schedule 18.08.2017    source источник
comment
Проверьте --ssh-options на этой странице duplicity.nongnu.org/duplicity.1.html.   -  person Tarun Lalwani    schedule 18.08.2017


Ответы (1)


Параметр --ssl-cacert-file предназначен только для проверки хоста, а не для аутентификации.

Я нашел этот пример того, как добавить файлы pem внутри команды scp:

scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path

Параметр -i /path/to/your/.pemkey можно передать в blacklabelops/volumerize с переменной env `VOLUMERIZE_DUPLICITY_OPTIONS``

Пример:

$ docker run -d \
  --name volumerize \
  -v jenkins_volume:/source:ro \
  -v backup_volume:/backup \
  -e "VOLUMERIZE_SOURCE=/source" \
  -e "VOLUMERIZE_TARGET=scp:///backup" \
  -e 'VOLUMERIZE_DUPLICITY_OPTIONS=--ssh-options "-i /path/to/your/.pemkey"' \
blacklabelops/volumerize
person blacklabelops    schedule 19.08.2017
comment
Большое спасибо, может быть! Когда я сделал свою первую резервную копию, мне пришлось столкнуться со следующим: Подлинность хоста «myserver» не может быть установлена. Отпечаток ключа SSH-ED25519: 1b:75:e8:9d:d6:88:0a:c3:55:3a:95:18:05:54:70:63. Вы уверены, что хотите продолжить подключение (да/нет)? да BackendException: ssh-подключение к моему серверу: 22 не удалось: [Errno 2] Нет такого файла или каталога: '/root/.ssh/known_hosts' список известных хостов и 2. docker commit для сохранения. Работает как шарм. - person Tanc; 20.08.2017
comment
Добавление хоста вручную намного безопаснее. Но вы можете отключить его с помощью дополнительных параметров: -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null - person blacklabelops; 20.08.2017