1. 程式人生 > >【系列5】使用Dockerfile創建帶weblogic的Centos Docker鏡像

【系列5】使用Dockerfile創建帶weblogic的Centos Docker鏡像

帶weblogic的docker鏡像

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腳本文件:
[root@docker1 ~]# mkdir weblogic_jdk1.6
[root@docker1 ~]# cd ?weblogic_jdk1.6/
[root@docker1 weblogic_jdk1.6]# touch Dockerfile run.sh ??







??

【系列5】使用Dockerfile創建帶weblogic的Centos Docker鏡像