Weblogic是一个基于Java EE架构的中间件(应用服务器),WebLogic由Oracle公司维护。
? ?WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。是商业市场上最主要的Java (J2EE)应用服务器软件之一,也是世界上第一个成功商业化的J2EE应用服务器。
? ?与Tomcat不同的是,Weblogic是一个商业软件,所以需要有授权才能使用。不过,Oracle公司允许开发者在开发模式下使用Weblogic。如果开发者需要在生产环境中使用Weblogic,则需要购买Oracle公司的正规商业授权。Weblogic的安装软件可以到Oracle的官方网站下载。
? ?
? ?Weblogic的基本概念:
? ?◆ Weblogic域:
? ?weblogic域是作为单元进行管理的一组相关的WebLog服务器资源。一个域包含一个或多个WebLogic服务器实例,这些实例可以是群集实例、非群集实例,或者群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。 ?
? ?◆ Administration服务器
? ?域中包含一个特殊的WebLogic服务器实例,叫做Administration服务器,这是用户配置、管理域中所有资源的核心。
? ?◆ Manager服务器
? ?通常,称加入Domain的其他实例为Managed服务器,所有的Web应用、EJB、Web服务和其他资源都部署在这些服务器上。
? ? 一个典型的Weblogic部署应该如图11-4所示。
? ?如果要使用常规的administrator +node的方式部署,就需要在run.sh脚本中分别写出administrator服务器和node服务器的启动脚本。这样做的优点是:可以使用Weblogic的集群、同步等概念。部署一个集群应用程序,只需要安装一次应用到集群上即可。
? ? 缺点是:
? ? Docker配置复杂了。
? ?没办法自动扩展集群的计算容量,如需添加节点,需要在administrator上先创建节点,然后再配置新的容器run.sh启动脚本,然后再启动容器。
? ?
? ?推荐将应用程序安装在adminiserver上面,当需要扩展时候,启动多个adminiserver节点即可,将adminiserver当作Managed server使用。这样做的优点和缺点和传统的部署方法恰恰相反。
? ?
? ?使用docker commit + Dockerfile方式创建镜像
? ?下面将以weblogic 12.11、jdk 1.6、centos7.4为例子,创建一个带有Weblogic服务的镜像。
? ① 准备工作
? ? 由于Weblogic的安装、部署部署较为复杂,笔者将先通过docker run -ti进入容器完成大部分操作,然后通过docker commit将这个容器提交为一个镜像,最后再进一步使用Dcokerfile来完成最终的Weblogic镜像创建,对于一些复杂镜像的创建。
? ? 在本地主机上创建weblogic目录,从其他主机上传jdk和weblogic安装文件到该目录下,并创建Dockerfule和run.sh脚本文件:
[[email protected] ~]# mkdir weblogic_jdk1.6
[[email protected] ~]# cd ?weblogic_jdk1.6/
[[email protected] weblogic_jdk1.6]# touch Dockerfile run.sh ??
??