docker - 保存现有的 Docker 堆栈以重新应用它
问题描述
我们在 swarm 模式下运行 Docker。如果整个集群被破坏,是否可以保存现有的 Docker 堆栈以重新应用它?
如果 Docker 将 docker-compose 文件保存在任何地方,我们可以备份这个文件,但我在 Docker 文档中没有发现任何迹象表明会出现这种情况。
解决方案
Gitops 在 kubernetes 领域比在 Docker 领域更广为人知,但一种常见的管理方式是:
- 在 git repo 中维护您想要的状态(在本例中为 stack.yml 文件)。
- 使用提交挂钩自动部署更改。
传统的 GitOps 解决方案(如 ArgoCD)以 K8s 而不是 Docker 为目标,因此您需要做更多的工作。考虑以下:
- Portainer.io 具有将 stack.ymls 部署到 swarm 的 beta 功能。
- Gitlab-ce / Jenkins 可用于设置在提交时触发的 CI/CD 管道,并使用基于 docker 的运行器进行发布。
- 如果您在公共云中,请执行 GitHub 操作。
推荐阅读
- java - .exe 运行后立即关闭
- javascript - 使用 AJAX 时,无法拆分字符串并将其视为数组
- css - 如何防止具有相对位置的组件不会出现在带有角度粘性标题的表格上方?
- python-3.x - 击键记录:记录按下和释放
- node.js - 注册后无法重定向到仪表板(秘密页面)
- reactjs - 当我们声明一个 const 并重用变量时
- sql - 用前导零修剪特定字符串
- c# - 如何从模型的 ViewModel 类型的回发中从 DropdownList 中获取价值?
- lua - 我的游戏没有保存我希望它保存的数据
- authentication - 如何在 actix-web 中创建受保护的路由