首页 > 解决方案 > 保存现有的 Docker 堆栈以重新应用它

问题描述

我们在 swarm 模式下运行 Docker。如果整个集群被破坏,是否可以保存现有的 Docker 堆栈以重新应用它?

如果 Docker 将 docker-compose 文件保存在任何地方,我们可以备份这个文件,但我在 Docker 文档中没有发现任何迹象表明会出现这种情况。

标签: dockerdocker-composedocker-swarmdocker-stack

解决方案


Gitops 在 kubernetes 领域比在 Docker 领域更广为人知,但一种常见的管理方式是:

  • 在 git repo 中维护您想要的状态(在本例中为 stack.yml 文件)。
  • 使用提交挂钩自动部署更改。

传统的 GitOps 解决方案(如 ArgoCD)以 K8s 而不是 Docker 为目标,因此您需要做更多的工作。考虑以下:

  • Portainer.io 具有将 stack.ymls 部署到 swarm 的 beta 功能。
  • Gitlab-ce / Jenkins 可用于设置在提交时触发的 CI/CD 管道,并使用基于 docker 的运行器进行发布。
  • 如果您在公共云中,请执行 GitHub 操作。

推荐阅读