如何备份 docker 用于灾难恢复的 swarm 模式服务配置

How to back up docker swarm mode service configuration for disaster recovery

我有许多服务器 运行 作为集群使用 docker 集群模式。群中有几个 (5+) 堆栈 运行,每个堆栈都有各自的 docker-compose.yml 文件。

我主要使用 docker 堆栈部署 来管理我的堆栈(编辑我的 docker-compose.yml 然后 运行 deploy 这样组合文件仍然是 运行 配置的真实反映)。不利的一面是,我直接对服务所做的任何更改都会在下一个 部署 时丢失,并且它会阻止我使用像 portainer 这样的工具来充分发挥它们的潜力。

在理想情况下,我希望能够将我的整个 运行 配置导出到 docker-compose.yml 的集合中文件允许我管理 运行 配置和我当前配置之间的任何差异。

我可以看到我可以使用一些 shell 脚本、docker inspect -f 和一些 go 模板来滚动我自己的东西,但是我必须自己维护这一切。

是否有支持我的用例的工具或库?

docker-compose.yaml 文件是您的应用程序的一部分,应按照 "Infrastructure as code" 逻辑保存在源代码管理中。

然而,在 DockerCon 19 上,"Server side stack" 刚刚宣布支持 Swarm。因此,您将在几周或几个月内得到一个可行的解决方案。