【问题标题】:Save existing Docker stack to reapply it保存现有的 Docker 堆栈以重新应用它
【发布时间】:2021-07-27 04:21:02
【问题描述】:

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

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

【问题讨论】:

  • 通常您会将docker-compose.yml 文件和类似的部署工件保留在源代码管理中。那么就没有必要“备份它们”本身,您只需检查存储库并重新部署即可。
  • @DavidMaze 感谢您的回答。我同意你的看法。在这种情况下,问题是我们的客户申请和管理他们的 docker-compose.yml,我们只提供基础设施(Docker swarm 节点)

标签: docker docker-compose docker-swarm docker-stack


【解决方案1】:

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

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

ArgoCD 等传统 GitOps 解决方案针对的是 K8s 而不是 Docker,因此您需要做更多的工作。考虑以下几点:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-16
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多