我想使用scp / sftp备份到另一台服务器上的几个docker卷。我不知道如何处理,所以我决定看看blacklabelops/volumerize GitHub project.
此工具基于命令行工具Duplicity。 Dockerized和Parameterized,以便于使用和配置。 Tutorial正在处理一个詹金斯码头工人,但我不明白如何提及我想要使用pem文件。
我尝试过不同的解决方案(在scp命令行中添加-i选项),但目前没有任何成功。
Duplicity man page提到使用cacert pem文件(--ssl-cacert-file选项),但我想我必须在运行docker(使用-e选项)时创建一个env变量,而我不知道要使用哪个名称。
在这里,我到目前为止,有人可以指出我正确的方向吗?
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
答案 0 :(得分:1)
选项--ssl-cacert-file
仅用于主机验证,不用于身份验证。
我找到了关于如何在scp命令中添加pem文件的示例:
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