docker和java容器
组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标。 对于Java EE应用程序,这可以在容器中打包应用程序,应用程序服务器和其他依赖项,这些容器可以在构建,测试和生产环境中复制。 这使您更接近实现连续交付。 至少这是托马斯网络研讨会上的摘要,我几天前一直在发表 。 这是一篇支持博客的文章,其中包含有关设置的更多详细信息,包括所有指向源代码和演示的链接。 在下面嵌入的开发人员访谈中找到更详细的技术演练。 非常感谢我
合著者Thomas帮助我撰写了这篇博文。
我们涵盖了什么?
首先,我们要谈一些为什么如今每个人都热衷于优化应用程序交付。 越来越复杂的应用程序给基础架构,团队和流程带来了更大的压力。 容器承诺通过将应用程序及其运行时组件保持在一起来带来解决方案。
但是,我们不要止步于此,再往前看,这似乎是操作的理想选择。 它越来越多地泄漏到开发人员空间中。 作为开发人员,只需专注于我们最擅长的工作即可轻松忽略最新的炒作:提供功能正常的应用程序。 但说实话,还有更多。 特别是Java EE不仅需要代码。 因此,容器有望使我们的生活更轻松。
仅仅谈论容器还不是全部。 它们必须是可用的,并且必须在生产环境中使用,开发人员才能最终使用它们。 这是我们将简要介绍OpenShift v3即将推出的内容以及它如何适应更广阔的前景的地方。
在进行了简短的介绍之后,Thomas将带您详细了解所有细节,从Docker容器开始,以及它们如何实现完整的持续交付链,该链完全支持DevOps。
为什么现在呢?
最重要的是,诸如微服务之类的新架构方法使我们远离运行单片应用程序的大型VM和物理服务器。 单独引导的服务很自然地适合基于容器的部署,因为运行它们所需的一切都已完全封装。 此外,对优化运营的渴望正将越来越多的基础架构带入云模型。 我们将看到容器即服务,比VM部署起来更快,运行更便宜并且易于管理。 企业将使用容器作为目标来运行专注于企业级操作的PaaS产品。 使用容器而不是虚拟机以容器包装的形式分发软件要更加完整和标准化。 更容易适应不同的供应商和供应商。 无论产品使用哪种语言或运行时。 企业不必再专注于单个平台来实现优化的运营和成本。 容器基础架构通过保持标准化的操作模型并具有未来的优化和附加功能(例如围绕安全性)的潜力,可以提供更加多样化的技术基础。容器及其管理系统是开发人员和操作人员之间的粘合剂,并且是支持的技术层DevOps运动。 简而言之:容器已准备就绪。
作为一名Java EE开发人员,我从中获得什么?
容器是关于容器内部而不是容器外部的内容。 将此与PaaS产品进行比较很容易。 开发人员不想关心配置或托管。 他们只希望为其应用程序提供可靠的运行时。 除了Containers,您所需的东西并不多。 标准格式,标准图像,甚至可以选择使用公司范围内的集线器,这将使开发团队更加高效。 这也与我们如何设置本地环境并将其推广到我们的团队有关。 配置不同的实例可以在几秒钟内旋转和拆除。 无需维护中间件或数据库的不同版本,也无需弄乱路径或配置。 预先配置的容器将大大减少团队设置时间,并允许更轻松地使用不同的配置进行测试。 图像可以集中开发,配置和维护。 根据公司标准,包括特定的框架或集成库。 责任和教育是激励的关键部分。 今天的全栈开发人员希望对自己的艺术作品负责–端到端。 日复一日使用相同的lame API进行编程不再是一件繁琐的工作。 实际上,容器允许从构建到打包以及将您的应用程序通过不同的环境交付生产的完整往返过程。 而且,由于所有内容都可以进行版本控制和集中维护,并且在任何环境中都依赖于相同的操作系统和配置,因此使用Containers可以更好地预测完整的软件交付链。
OpenShift如何适合所有这些?
市场向容器转变的完美例子是OpenShift。 它有不同的版本:
- OpenShift Origin是Red Hat云产品的开源项目
- OpenShift Online是Red Hat的公共云应用程序开发和托管平台,可自动配置,管理和扩展应用程序,以便您专注于为业务,启动或下一个大创意编写代码。 在openshift.com上注册以尝试一下自己
- OpenShift Enterprise是一种内部部署的私有平台即服务(PaaS)解决方案,可让您更快地交付应用程序并满足企业不断增长的应用程序需求。
根据您的需求,您可以自由选择最适合您需求的解决方案。 从使用Origin构建自己的PaaS到自己运行完全支持的本地PaaS。
而且,我们将在下一版本的OpenShift上大放异彩! Origin的每个里程碑都伴随着OpenShift的新版本。 现在,OpenShift 3的Origin源代码存储库已可用。 它正在朝着完全重新设计的全新架构的方向发展。 这种新架构集成了Docker和Kubernetes容器编排和管理系统,可在针对运行容器化应用程序而优化的Atomic主机上使用。 最重要的是,OpenShift将整合有效且高效的DevOps工作流程,这些工作流程在平台即服务中为加速应用程序交付发挥关键作用。
OpenShift v3的外观如何?
OpenShift在Kubernetes的基础上增加了以开发人员和操作为中心的工具,以实现快速的应用程序开发,轻松的部署和扩展以及对大小团队和应用程序的长期生命周期维护。
从一切开始,红帽一直与Docker社区合作,以发展我们现有的容器技术,并通过libcontainer项目推动容器化的新标准。 这项工作导致宣布在RHEL 7中支持Docker,并启动Project Atomic以开发新的容器优化的Linux主机。 这种新的容器架构是OpenShift v3的核心。
OpenShift v3弹药筒格式将采用Docker打包模型,并使用户能够利用打包为Docker映像的任何应用程序组件。 这将使开发人员能够利用Docker Hub社区来访问和共享要在OpenShift中使用的容器映像
在OpenShift v3中,我们将Kubernetes集成到OpenShift Broker中,以驱动容器编排。
OpenShift v3将带来新的功能,以供应,修补和管理应用程序容器,路由和网络增强功能以及供应和管理OpenShift平台本身。 目标是为OpenShift开发人员提供最佳的用户体验。
- 为即将发布的版本感到兴奋!
完整的演示
网络广播重播已经完成,现在是时候接触源代码并获取#coffee +++,然后坐下来放松演示,而不是10分钟即可完成。 托马斯(Thomas)将介绍所有细节,我很高兴在这两者之间提出一些令人讨厌的问题。
别忘了,您随时可以重新观看原始的网络研讨会 。
这是prezi演示的体系结构概述,Thomas在网络广播中进行了演示。
链接和进一步阅读
一些思考和家庭作业的食物。 网络研讨会中的链接集合以及其他一些资源可供您深入研究。
- “ 使用Docker容器和Java EE进行持续交付 ”(网络研讨会重播,28日或4月)
- TicketMonster –一个JBoss示例 (演示中使用的示例Java EE应用程序)
- 该示例的完整源代码
- 编写您的Docker容器
- 托马斯的博客
- Arun Gupta关于Docker的博客
- OpenShift v3的功能
- 原子项目
翻译自: https://www.javacodegeeks.com/2015/05/continuous-delivery-with-docker-containers-and-java-ee.html
docker和java容器