在开发环境中使用Docker容器进行测试的平台

4
我们目前正在将运行在JBoss中的单体应用程序转向使用Docker进行微服务。我想知道在开发环境中测试这些Docker容器所需使用的平台/工具/框架。此外,应该使用什么工具将这些容器部署到开发人员测试环境中。
是否可以使用类似Kubernetes与chef/puppet/vagrant之类的东西?

2
这个问题可能对许多用户有用。在http://softwarerecs.stackexchange.com上进行交叉列表是有意义的。它处于测试阶段,没有太多的答案和评论流量,但投票很多,正在朝着yelp软件的方向发展。 - Sergei Rodionov
看看test-kitchen(因为你谈到了chef),那里有一个docker提供者,正好满足你的需求。 - Tensibai
2个回答

2

我是这么认为的。一定要正确实现服务发现、日志记录和虚拟网络。对于服务发现,您可以查看skydns。Docker现在有一些日志插件可供用于日志管理。对于虚拟网络,您可以寻找Flannel和Weave。

您需要服务发现,因为Kubernetes会按照其自己的方式安排容器,并且您需要某种方法告知您的微服务将位于什么IP/端口上。虚拟网络使得每个容器都有自己的子网,从而避免了端口冲突,以防您在同一台主机上暴露了两个具有相同端口的容器(Kubernetes不会让它们冲突,直到您有可用端口的主机运行容器,如果您尝试创建更多,则无法运行)。

此外,您可以尝试Docker本身内置的集群工具,如docker service、docker network命令和Docker Swarm。

如果您已经拥有VM基础设施,则可以使用Docker-machine。


0
我们已经创建并开源了一个平台,用于开发和部署基于Docker的微服务。它支持服务发现、集群、负载均衡、健康检查、配置管理、诊断和迷你DNS。
我们在本地开发环境和AWS生产环境中使用它。我们有一个Vagrant box,里面准备好了一切,所以你可以试试看:

http://armada.sh

https://github.com/armadaplatform/armada


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接