在 CoreOS 主机之间移动 docker 数据卷容器
Posted
技术标签:
【中文标题】在 CoreOS 主机之间移动 docker 数据卷容器【英文标题】:Move docker data volume containers between CoreOS hosts 【发布时间】:2014-11-03 09:30:08 【问题描述】:在某些情况下,集群文件系统实在是太多了。如果我没记错的话,这就是the data volume container pattern 的用例。但即使是 CoreOS 也需要不时更新。如果我仍然想尽量减少应用程序的停机时间,我必须将数据卷容器与应用程序容器一起移动到另一台主机上,同时更新旧主机。
是否存在最佳实践?更经常提到的解决方案是"backup" of a container 与旧主机上的docker export
和新主机上的docker import
。但这将包括将 tar 文件 scp-ing 到其他主机。可以用fleet 管理吗?
【问题讨论】:
The right way to move a data-only docker container from one machine to another的可能重复 我希望不会。我的问题是特定于 CoreOS 的,我希望可以利用舰队来协调这个过程。话虽如此,只要不与 CoreOS 的设计相冲突,其他问题的答案确实可以适用于 CoreOS。 我认为这里建议的正确解决方案将是特定于应用程序的。您在 docker 卷中管理哪些类型的数据,以及您要尽量减少停机时间? @jkingyens 好吧,我不确定,但我不认为这是特定于应用程序的。如果您想使用数据卷容器持久地管理数据,那么在其中存储上传的图像、数据库或其他东西都没有关系。一旦一台主机出现故障(例如,为了更新或由于缩减),数据卷容器必须迁移到另一台主机。 @brejoc 我认为您正在寻找专门用于解决此问题的东西(如 Flocker),否则它会被视为应用程序问题。例如,使用可以容忍丢失与单个集群成员关联的磁盘卷的数据库复制或 NoSQL 数据存储。 【参考方案1】:@brejoc,我不会将此称为解决方案,但它可能会有所帮助:
另类 1:使用另一个操作系统,它确实有集群,或者至少 - 不会阻止它。我现在正在尝试使用 CentOS。 2:我创建了一些工具,可以在某些用例中提供帮助。第一个工具,从 S3 检索数据(通常是工件),并且是单向的。第二个工具,我称之为“备份卷容器”,它有很大的潜力,但需要一些反馈。它为数据提供双向备份/恢复,从/到许多持久数据存储,包括 S3(还有 Dropbox,这很酷)。现在实现了,当你第一次运行它时,它会恢复到容器中。从那时起,它将监视容器中相关文件夹的更改,并在更改时(以及在一段安静期之后)备份到持久存储。
备份卷容器:https://registry.hub.docker.com/u/yaronr/backup-volume-container/ 从 S3 同步文件:https://registry.hub.docker.com/u/yaronr/awscli/ (docker run yaronr/awscli aws s3 等 - 阅读 aws 文档)
【讨论】:
@brejoc,谢谢。如果您尝试使用备份卷容器并给我您的想法,那就太好了。到目前为止很多人都下载了,但我没有收到 cmets,所以我无法知道人们是否真的觉得它有用以上是关于在 CoreOS 主机之间移动 docker 数据卷容器的主要内容,如果未能解决你的问题,请参考以下文章