把docker推到生产

我正在使用docker-compose.yml文件在开发环境中使用docker-compose.yml ,其中列出了我需要的所有容器。

另外我有一个集中的git回购,Jenkins服务器和另一个服务器,我要保持分期和生产。

所以问题是如何更好地组织部署过程。

现在git push在git服务器端触发Jenkins构build作业。 根据分支名称(分段或生产),将触发不同的作业。

构build作业使用docker-compose来创build整个环境并运行testing。 那么如何将新容器推送到分段/生产环境?

一种方法是将他们推送到私人或公共docker注册处,但更新生产中容器的最佳做法是什么? jenkins服务器应该只是SSH并运行原始killrmpullrun命令? 我没有看到例子。

Kubernetes,Docker Swarm或Rancher可能是实现所谓滚动更新的最佳方式。

基本上滚动更新将采取容器(称为服务)的集合,并逐一更新它们。 所以想象一下,你有三个容器运行你的应用程序,一个滚动更新将取下第一个容器并更新它,等等,直到服务完全更新。 这意味着您可以在应用程序上实现零停机时间,因为这些产品中的负载均衡器是智能的,不会redirect到更新容器。

这个链接给你一个Swarm运行服务的基本实现,然后进行更新。

Swarm滚动更新

对于一些最简单的设置和实现 – 根据我的经验,Rancher是一个很好的起点,可以掌握所有这些概念。 它基本上是不同的Docker技术,如Kubernetes之上的接口。

牧场主网站