我们目前正在将运行在JBoss中的单体应用程序转向使用Docker进行微服务。我想知道在开发环境中测试这些Docker容器所需使用的平台/工具/框架。此外,应该使用什么工具将这些容器部署到开发人员测试环境中。
是否可以使用类似Kubernetes与chef/puppet/vagrant之类的东西?
是否可以使用类似Kubernetes与chef/puppet/vagrant之类的东西?
我是这么认为的。一定要正确实现服务发现、日志记录和虚拟网络。对于服务发现,您可以查看skydns。Docker现在有一些日志插件可供用于日志管理。对于虚拟网络,您可以寻找Flannel和Weave。
您需要服务发现,因为Kubernetes会按照其自己的方式安排容器,并且您需要某种方法告知您的微服务将位于什么IP/端口上。虚拟网络使得每个容器都有自己的子网,从而避免了端口冲突,以防您在同一台主机上暴露了两个具有相同端口的容器(Kubernetes不会让它们冲突,直到您有可用端口的主机运行容器,如果您尝试创建更多,则无法运行)。
此外,您可以尝试Docker本身内置的集群工具,如docker service、docker network命令和Docker Swarm。
如果您已经拥有VM基础设施,则可以使用Docker-machine。