MyBank 進行容器化

示例:把一個簡單的 Java Web 應用---MyBank 進行容器化。

它包含了 Java 源代碼、JSP文件、圖片和 CSS 等靜態資源文件。

MyBank 的項目結構是基於 Maven 的要求部署,通過 Maven 可以編譯和構建 MyBank 的部署包---WAR包。

和其它的應用程序一樣,MyBank 在開發過程中,它的所以在源代碼都被上傳到配置管理庫進行版本控制,這裏所使用的配置管理服務器是 GitHub。

1. 安裝部署源代碼工具 Git.

# yum -y install git

2.從 GitHub 上下載示例的 Java 應用源代碼。

[root@master ~]# cd /opt/
[root@master opt]# git clone https://github.com/nichochen/mybank-demo-maven

3.準備編譯和構建環境。安裝應用構建所需的Java開發工具包 JDK 及構建工具 Maven

# yum -y install maven

4.通過構建工具編譯及構建應用。

# cd mybank-demo-maven/
[root@master mybank-demo-maven]# mvn package

構建完畢,將在 target 目錄下生成一個 WAR 包 ROOT.war.

# ls target/
classes  maven-archiver  ROOT  ROOT.war  surefire  surefire-reports  test-classes

5.選擇滿足應用運行要求的基礎容器鏡像,或者從基礎的操作系統鏡像開始安裝和構建。

# docker pull tomcat:7.0.70-jre7-alpine

6.編寫 Dockerfile 。把構建好的應用部署包拷貝到發佈目錄。Dockerfile示例如下:

# cat Dockerfile 
FROM tomcat:7.0.70-jre7-alpine
ADD ./target/ROOT.war /usr/local/tomcat/webapps/mybank.war

7.執行 Docker Build 構建鏡像。把鏡像命命爲 mybank-tomcat。在沒有指定鏡像的 tag 的請求下,默認的標籤爲 latest。

# docker build -t mybank-tomcatbank-tomcat .

構建完後,可以看見 Docker Build 生成的新鏡像

# docker images | grep mybank-tomcat
mybank-tomcat latest  0a46e831b130     2 days ago    150 MB

8.測試鏡像。通過 docker run 命令測試新創建的鏡像。參數 -p 8080:8080 把容器的 8080端口映射到主機的 8080端口。

# docker run  -it  --rm   -p 8080:8080  mybank-tomcat

完成後通過瀏覽器訪問 MyBank 的主頁測試。

# oc get service
NAME        TYPE     CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
hello-openshift   ClusterIP   172.30.242.25    <none>     8080/TCP,8888/TCP   3d

image

9.推送鏡像。測試通過後,將把鏡像發佈到相應的鏡像倉庫中。

# docker tag  mybank-tomcat:latest  192.168.100.133:5000/mybank-tomcat:latest
# docker push  192.168.100.133:5000/mybank-tomcat:latest


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章