在《Docker技術(shù)入門與實(shí)踐》這本書中描述了如何在聯(lián)網(wǎng)環(huán)境下一步步制作一個(gè)WebLogic的基礎(chǔ)鏡像,但是那十幾頁(yè)的描述看起來(lái)還是讓人非常頭大褒纲,而且在很多傳統(tǒng)企業(yè)或者金融企業(yè)中,他們的內(nèi)網(wǎng)環(huán)境是無(wú)法連接外網(wǎng)的钥飞,這就要求我們必須有一種離線環(huán)境下制作WebLogic的方法莺掠。而本文恰好是主要描述如何在離線狀態(tài)基于純凈的Centos7.2的容器鏡像來(lái)一步步制作一個(gè)WebLogic的容器鏡像。
要完成WebLogic基礎(chǔ)鏡像的制作读宙,我們要準(zhǔn)備如下材料:
一:centos7的容器鏡像彻秆。這個(gè)是我是在聯(lián)網(wǎng)環(huán)境下利用 docker pull centsos 命令下載完成之后,利用docker save -o centos-7.2.tar centos:latest命令保存下來(lái)的。
二:Jdk的rpm包唇兑。這個(gè)可以在聯(lián)網(wǎng)環(huán)境下從Oracle的官網(wǎng)上下載得到酒朵。
三:WebLogic的Zip版安裝包。這個(gè)也可以在Oracle官網(wǎng)上下載得到扎附。
準(zhǔn)備好這些材料之后蔫耽,我們就可以進(jìn)入到下一步操作了:
首先,我們利用U盤或者其他介質(zhì)將我們準(zhǔn)備的這三個(gè)軟件包拷貝到我們用來(lái)制作鏡像的主機(jī)上帕棉;假設(shè)我們把jdk和WebLogic的安裝包拷貝到了/usr/software目錄下针肥,并把WebLogic解壓【unzip wls1212_dev.zip】解壓出來(lái)的頂層文件目錄是wls12120。利用 docker load -i centos-7.2.tar 命令導(dǎo)入centos基礎(chǔ)鏡像香伴。這時(shí),當(dāng)我們執(zhí)行docker images的時(shí)候會(huì)發(fā)現(xiàn)我們的環(huán)境中增加了一個(gè)centos:latest版的鏡像信息具则。這說(shuō)明我們的基礎(chǔ)鏡像導(dǎo)入是成功的即纲。
其次,我們利用docker run -itd -P -v /usr/software:/home centos:latest /bin/bash命令基于剛剛導(dǎo)入的centos鏡像來(lái)啟動(dòng)一個(gè)后臺(tái)運(yùn)行的容器博肋,這個(gè)容器中的/home目錄和宿主機(jī)上的/usr/home目錄下是共享的低斋。利用docker exec -it 容器ID /bin/bash命令進(jìn)入到容器中之后執(zhí)行命令mkdir -p /opt/Oracle/weblogic/wls12120。
接下來(lái)安裝jdk并修改環(huán)境變量:
rpm -ivh jdk-8u65-linux-x64.rpm
export JAVA_HOME=/usr/java....
export WM_HOME=/opt/Oracle/weblogic/wls12120匪凡。
在/opt/Oracle/weblogic/wls12120下運(yùn)行sh configure.sh進(jìn)行weblogic的安裝膊畴。
需要等待一段時(shí)間;在出現(xiàn)是否創(chuàng)建一個(gè)新的domain時(shí)選擇yes,回車
輸入管理賬號(hào)的用戶名和密碼病游。需要注意:密碼必須同時(shí)包含字母數(shù)字唇跨,不能只包含數(shù)字或者只包含字母,否則此次安裝會(huì)失敗衬衬。
然后等待安裝完成之后這時(shí)發(fā)現(xiàn)weblogic已經(jīng)安裝完成并啟動(dòng)买猖。但是外界還不能訪問(wèn)。停掉weblogic后exit退出滋尉。
執(zhí)行docker commit contianerId image:tag 將剛才制作的容器生成weblogic的基礎(chǔ)鏡像玉控。
編寫dockerfile,內(nèi)容如下:
FROM weblogic:base
ADD run.sh /
EXPOSE 7001
CMD ["/run.sh"]
在當(dāng)前路徑下編寫 vi run.sh 內(nèi)容如下:
#!/bin/bash
#這個(gè)路徑不能出錯(cuò)
/opt/Oracle/weblogic/wls12120/user_projestc/../startWebLogic.sh
在當(dāng)前路徑執(zhí)行docker build -t weblogic:basic .進(jìn)行鏡像創(chuàng)建狮惜。
執(zhí)行 docker run -itd -P weblogic:basic來(lái)測(cè)試高诺。
執(zhí)行docker ps 來(lái)查看剛才啟動(dòng)的容器對(duì)外暴漏的端口,:之前的是映射到宿主機(jī)的端口
在瀏覽器上輸入http://ip:port/console來(lái)校驗(yàn)碾篡。這里的port是:之前的端口虱而。
至此,我們已經(jīng)完成了一個(gè)在離線環(huán)境下制作WebLogic基礎(chǔ)鏡像的整個(gè)步驟耽梅,總體的鏡像制作方法是:基于以后容器提交成一個(gè)鏡像薛窥、從歸檔文件導(dǎo)入,利用dockerfile來(lái)制作這三種方法的混合使用。這種方法在制作復(fù)雜基礎(chǔ)鏡像的時(shí)候會(huì)經(jīng)常用到诅迷。