docker和java容器_使用Docker容器和Java EE进行持续交付

docker和java容器

组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标。 对于Java EE应用程序,这可以在容器中打包应用程序,应用程序服务器和其他依赖项,这些容器可以在构建,测试和生产环境中复制。 这使您更接近实现连续交付。 至少这是托马斯网络研讨会上的摘要,我几天前一直在发表 。 这是一篇支持博客的文章,其中包含有关设置的更多详细信息,包括所有指向源代码和演示的链接。 在下面嵌入的开发人员访谈中找到更详细的技术演练。 非常感谢我
合著者Thomas帮助我撰写了这篇博文。

我们涵盖了什么?

cd_with_docker_javaee
首先,我们要谈一些为什么如今每个人都热衷于优化应用程序交付。 越来越复杂的应用程序给基础架构,团队和流程带来了更大的压力。 容器承诺通过将应用程序及其运行时组件保持在一起来带来解决方案。

但是,我们不要止步于此,再往前看,这似乎是操作的理想选择。 它越来越多地泄漏到开发人员空间中。 作为开发人员,只需专注于我们最擅长的工作即可轻松忽略最新的炒作:提供功能正常的应用程序。 但说实话,还有更多。 特别是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容器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/337694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

alientek ministm32液晶显示程序_佳显12864中文字库液晶专业生产液晶显示模块

GDRAM:(Graphic Display RAM):图形显示RAM,这一块区域用于绘图,往里面写啥,屏幕就会显示啥,它与DDRAM的区别在于,往DDRAM中写的数据是字符的编码,字符的显示先是在CGROM中找到字模&a…

C++ 面试考点(一)

点击蓝字关注我们C 基础1、引用和指针的区别?初始化:引用在定义的时候必须进行初始化,并且不能够改变指针在定义的时候不一定要初始化,并且指向的空间可变访问逻辑不同:通过指针访问对象, 用户需要使用间接访问通过引用访问对象, 用户只需使用…

dojo还有人用吗_我的Dojo中有一个Mojo(如何编写Maven插件)

dojo还有人用吗我一直忙于在工作中使用Maven的腋窝。 对于很多开发人员,我会听到:“那又怎样。” 区别在于,我通常在无法直接访问Internet的环境中工作。 因此,当我说我经常使用Maven时,这意味着某些事情。 依赖地狱 …

html5 css3炫酷效果,28种纯CSS3炫酷loading加载动画特效

这是一组效果非常炫酷的纯CSS3 Loading加载动画特效。这组loading动画共有27种不同的效果。每一种loading动画都是通过CSS3的keyframes帧动画来完成的,每一个加载动画都构思新颖,效果非常的酷。安装可以通过bower来按钮这个loading动画特效:b…

中点和中值滤波的区别_频谱仪和EMI测试接收机什么区别?安泰维修中心分享

测试人员在选择使用射频仪器的时候都在纠结选择频谱仪还是测试接收机又或者信号分析仪。下面由安泰频谱分析仪维修中心分享频谱仪和EMI测试接收机什么区别?测量接收机是什么?频谱仪和信号分析仪什么区别?信号源分析仪是什么?一、频…

C++ 面试必问:深入理解虚函数表

点击蓝字关注我们深入理解C 虚函数表C中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。Derive d; Base1 *b1 &d; Base2 *b2 &d; Base3 *b3 &…

html 图片剪裁压缩,HTML5 canvas实现图片拉伸、压缩与裁剪

前言:我们在网页中经常会用到图片展示,通常情况下会给一个固定的宽高来显示这个图片,然而从服务器端上传的图片大小是不确定的,如果直接按默认填充这个框有时候就会特别丑orz。作为一个完(wai)美(mao)主(xie)义(hui)者&#xff0c…

switch日文键盘打中文_12月有哪些Switch游戏值得期待?

文章转自A9vg,作者setsuka_duki 经历了11月的游戏浪潮后,一年中最后一个月份也悄然而至,相比较“战火连天”的11月,在12月发售的重量级游戏并不算太多,这边为大家整理12月哪些值得一玩的Switch游戏。 《Tools Up!》(分…

基于 C++11 的线程池 threadpool , 简洁且可以带任意多的参数

点击蓝字关注我们咳咳。C11 加入了线程库,从此告别了标准库不支持并发的历史。然而 c 对于多线程的支持还是比较低级,稍微高级一点的用法都需要自己去实现,譬如线程池、信号量等。线程池(thread pool)这个东西,在面试上多次被问到…

c# 字典排序_Python零基础入门之列表与字典

本篇内容需结合源码,获取方法看末尾数据结构数据结构就是指从计算机存储、组织数据的结构列表(List) 元组(Tuple)字典(Dictionary)集合(Set)列表(List)列表中的数据按顺序排列列表有正序与倒序两种索引列表可存储任意类型数据,且允许重复创建列表变量名 …

jaxb xsd生成xml_使用JAXB和Jackson从XSD生成JSON模式

jaxb xsd生成xml在本文中,我演示了一种从XML Schema (XSD)生成JSON Schema的 方法 。 在概述从XML Schema创建JSON Schema的方法的同时,本文还演示了JAXB实现的使用(与JDK 9捆绑在一起的xjc版本2.2.12-b150331.1824 [b…

C语言中结构体struct的用法

点击蓝字关注我们定义结构体变量下面举一个例子来说明怎样定义结构体变量。struct string { char name[8]; int age; char sex[2]; char depart[20]; float wage1, wage2, wage3, wage4, wage5; }person;这个例子定义了一个结构名为string的结构体变量person。还可以省略变量名…

html全屏漂浮,jquery全屏漂浮广告插件,可点击关闭(原创)

jquery全屏漂浮广告插件 兼容主流浏览器 实现简单 调用简单 在线预览 源码下载jquery全屏漂浮广告插件 兼容主流浏览器 实现非常简单说明:jquery在1.9开始不支持.live()方法的写法而改用.on(),见http://jquery.com/upgrade-guide/1.9/#live-removed.该插…

C++ 面试考点(二)

点击蓝字关注我们11、extern 用法?extern 修饰变量的声明如果文件a.c 需要引用b.c 中变量int v,就可以在a.c 中声明extern int v,然后就可以引用变量v。extern 修饰函数的声明如果文件a.c 需要引用b.c 中的函数,比如在b.c 中原型是…

内存不能为read进不去桌面_四级报名进不去怎么办

英语四级报名进不去怎么办?这里提供有两种方法,一种是重复刷新,直到页面出现;另外一种就是错峰报名,叉开登录高峰期。很多考生在报名的时候遇到困难,最多的就是报名页面进不去,这个时候有一些考生就会产生疑惑&#x…

C语言线程库的使用,这篇值得收藏!

点击蓝字关注我们1. 线程概述线程是轻量级的进程(LWP:light weight process),在 Linux 环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进…

alexeyab darknet 编译_【目标检测实战】Darknet—yolov3模型训练(VOC数据集)

原文发表在:语雀文档0.前言本文为Darknet框架下,利用官方VOC数据集的yolov3模型训练,训练环境为:Ubuntu18.04下的GPU训练,cuda版本10.0;cudnn版本7.6.5。经过一晚上的训练,模型20个类别的mAP达到…

html字符串转svg,【SVG】如何操作SVG Text

上周我们学习了如何使用元素创建SVG文本。在实例中我们设置了x和y坐标来定位文本,也尝试了给SVG文本中的每个字符定位。关于元素还有很多内容。在处理SVG文本时,不要局限于x和y属性。元素还有几个可以添加的属性,现在我们开始讨论吧。dx和dy属…

C++ 面试考点(三)

点击蓝字关注我们21、构造函数和析构函数可以调用虚函数吗,为什么在C中,提倡不在构造函数和析构函数中调用虚函数;在构造函数和析构函数调用的所有函数(包括虚函数)都是编译时确定的, 虚函数将运行该类中的版本.因为父类对象会在子类之前进行…

用终端访问路由器设置端口开发_serial for mac(终端管理软件)v2.0.3

原标题:serial for mac(终端管理软件)v2.0.3serial for mac是应用在Mac上的一款终端管理软件,可以帮助您连接和控制串行设备,如服务器,路由器或调制解调器等网络设备,PBX系统等。好消息是Serial为大多数串行设备提供了…