应用docker化
1)首先安裝源代碼工具Git。? [root@master~]# yum install-y git? 2)從GitHub上下載示例的Java應用源代碼。? [root@master~]# cd/opt? [root@masteropt]# git clone https://github.com/nichochen/mybank-demo-maven? 3)準備編譯和構建環境。? 安裝應用構建所需的Java開發工具包JDK及構建工具Maven。? [root@masteropt]# yum install-y maven? 4)通過構建工具編譯及構建應用。? [root@masteropt]#cd mybank-demo-maven/? [root@mastermybank-demo-maven]# mvn package? 構建完畢后,將在target目錄下生成一個WAR包ROOT.war。? [root@mastermybank-demo-maven]# ls target/? classesmaven-archiverROOTROOT.warsurefire? 5)選擇滿足應用運行要求的基礎容器鏡像,或者從基礎的操作系統鏡像開始安裝和構建。為了方便,這里選擇Tomcat7的官方鏡像tomcat:7.0.70-jre7-alpine。一般推薦預先把鏡像下載到本地,以方便本地調試。? [root@mastermybank-demo-maven]# docker pull tomcat:7.0.70-jre7-alpine? 6)編寫Dockerfile。? 這個例子中我們的邏輯比較簡單,就是把構建好的應用部署包拷貝到發布目錄。? Dockerfile示例如下。? [root@mastermybank-demo-maven]#cat Dockerfile? FROMtomcat:7.0.70-jre7-alpine? ADD./target/ROOT.war/usr/local/tomcat/webapps/mybank.war? 7)執行DockerBuild構建鏡像。? 把鏡像命名為mybank-tomcat。在沒有指定鏡像的tag的請求下,默認的標簽為latest。? [root@mastermybank-demo-maven]# docker build -t mybank-tomcat.? SendingbuildcontexttoDockerdaemon4.194MB? Step1:FROMtomcat:7.0.70-jre7-alpine--->ffe5379d7563? Step2:ADD./target/ROOT.war/usr/local/tomcat/webapps/mybank.war--->113cc34fc0e4Removingintermediatecontainerf04b6e3a9989? Successfullybuilt113cc34fc0e4? 構建完畢后,可以看見剛才DockerBuild生成的新鏡像09cf49110ce2。? [root@mastermybank-demo-maven]# docker images | grep mybank-tomcat? mybank-tomcatlatest09cf49110ce22minutesago149.4MB? 8)測試鏡像。? 通過dockerrun命令測試新創建的鏡像。這里通過參數-p8080:8080把容器的8080端口映射到主機的8080端口,以方便測試。? [root@mastermybank-demo-maven]# docker run -it --rm -p8080: 8080 mybank-tomcat? 容器啟動完畢后,可以通過curl或瀏覽器測試應用是否工作正常。 [root@mastermybank-demo-maven]#curl http://master.example.com:8080/mybank/? 9)推送鏡像。測試通過后,下一步將把鏡像發布到相應的鏡像倉庫中。先通過docker tag創建指向目標鏡像倉庫的鏡像名稱,然后通過docker push推送鏡像至目標倉庫。? [root@master~]#docker tag mybank-tomcat:latest registry.your-registry.com/mybank-tomcat:latest? [root@master~]#docker push registry.your-registry.com/mybank-tomcat:latest? 通過以上的步驟完成了一個簡單應用的容器化。在沒有特殊需求的情況下,容器化過程不算復雜。
轉載于:https://www.cnblogs.com/muzinan110/p/9234250.html
總結
- 上一篇: [NowCoder] 牛牛数星星
- 下一篇: c# 读取txt方法