如何在 IBM Docker Cloud in Bluemix 中备份卷?
How can I backup volumes in the IBM Docker Cloud in Bluemix?
我知道如何在可以本地访问的情况下保存 docker 图像,但是如何
我可以在 IBM Bluemix 平台中备份卷容器吗?
谢谢
安思
备份(远程)容器的卷的最简单方法是将卷安装到另一个卷上,然后 tar 它:tar 完成后,您可以使用 [=31= 下载它] 或您喜欢连接到容器的服务(也根据容器上可用的服务)。
要将卷安装到另一个容器上,您可以使用 --volumes-from 标志创建一个安装该卷的新容器:
docker run --volumes-from [source container] -v /volume_backup ubuntu tar cvf /volume_backup/backup.tar /path_to_backup
此命令启动一个新容器并使用相同的路径 /path_to_backup 从 [source container] 容器装载卷。
然后在这里创建一个新卷并挂载到 /backup 路径。
最后,启动 tar 将 /path_to_backup 卷的内容 tar 写入 /backup 目录中的 backup.tar 文件。
命令完成后,即使容器已停止,备份也包含在另一个卷中:您可以将此卷安装在另一个容器中以下载它,或者 push/pull/upload 或任何您想要的东西想要。
这个备份也可以简单地通过分解第一个容器的 /path_to_backup 路径中的 tar 来恢复。
否则,您可以使用这个用于备份的现成容器:
https://github.com/docker-infra/docker-backup
在这里您可以找到 docker 文档来管理 docker 卷:唯一的区别是您应该考虑一种方法来 move/copy 在您的本地环境或任何地方进行备份希望保留您的卷备份
到目前为止我发现了 2 种可能性:
A - 第一种可能性,使用一些不错的工具调用 cloudberry 备份 linux :
http://www.cloudberrylab.com/backupcmd_nix.aspx#section-synchronise-account
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
通过:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
我的 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
我知道如何在可以本地访问的情况下保存 docker 图像,但是如何 我可以在 IBM Bluemix 平台中备份卷容器吗?
谢谢 安思
备份(远程)容器的卷的最简单方法是将卷安装到另一个卷上,然后 tar 它:tar 完成后,您可以使用 [=31= 下载它] 或您喜欢连接到容器的服务(也根据容器上可用的服务)。
要将卷安装到另一个容器上,您可以使用 --volumes-from 标志创建一个安装该卷的新容器:
docker run --volumes-from [source container] -v /volume_backup ubuntu tar cvf /volume_backup/backup.tar /path_to_backup
此命令启动一个新容器并使用相同的路径 /path_to_backup 从 [source container] 容器装载卷。 然后在这里创建一个新卷并挂载到 /backup 路径。
最后,启动 tar 将 /path_to_backup 卷的内容 tar 写入 /backup 目录中的 backup.tar 文件。
命令完成后,即使容器已停止,备份也包含在另一个卷中:您可以将此卷安装在另一个容器中以下载它,或者 push/pull/upload 或任何您想要的东西想要。
这个备份也可以简单地通过分解第一个容器的 /path_to_backup 路径中的 tar 来恢复。
否则,您可以使用这个用于备份的现成容器: https://github.com/docker-infra/docker-backup
在这里您可以找到 docker 文档来管理 docker 卷:唯一的区别是您应该考虑一种方法来 move/copy 在您的本地环境或任何地方进行备份希望保留您的卷备份
到目前为止我发现了 2 种可能性:
A - 第一种可能性,使用一些不错的工具调用 cloudberry 备份 linux : http://www.cloudberrylab.com/backupcmd_nix.aspx#section-synchronise-account
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 通过:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
我的 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