在没有 Kubernetes 的情况下停止时自动重新创建 Docker 容器

在没有 Kubernetes 的情况下停止时自动重新创建 Docker 容器

我已经设法在我们组织中的 Linux 和 Windows 主机上设置 Docker 以供内部使用。

现在我想设置一些“自清洁” DevOps 工作代理;我已经在 Windows 主机上准备好了基于 Windows 的 DevOps 代理映像,它具有我们内部构建管道所需的一切,并且在启动时连接到我们的 DevOps。一旦启动,它将继续运行管道作业,直到手动停止。我还可以--once在启动代理本身时使用该标志,让它在关闭之前只处理一个作业(脚本存在问题,但与此问题无关)。

作为参考,我正在尝试设置一般描述的内容此 MS 文档

如果您希望每次管道运行时都有一个新的代理容器,请将 --once 标志传递给运行命令。您还必须使用容器编排系统,例如 Kubernetes 或 Azure 容器实例,在工作完成时启动容器的新副本。

我的问题是,哪些本地编排系统能够处理重新创建已停止的容器,哪些在设置方面是“轻量级”的? Kubernetes 显然被提及了,但感觉它是一个非常庞大和复杂的系统,仅针对我们的内部 DevOps 管道进行设置(并且像minikube和这样的工具kind实际上并不适用于 Server Core 主机)。 Docker Swarm 似乎更容易设置,但我不确定它是否可以处理我所想到的场景。

答案1

Docker Swarm将根据需要自动启动已停止的容器,并且仅使用命令即可创建单节点集群docker swarm init。因此,如果 Docker 已安装并正在运行,则设置起来非常容易。

显然,可以根据需要通过向 Swarm 添加额外的 Docker 主机来扩大规模。

相关内容