將 war 包 打成docker映象
阿新 • • 發佈:2018-12-23
隨著docker等容器技術的成熟,使得dev-ops的開發理念得到落實。公司內部提供的容器都是封裝好的,於是決定嘗試自己在docker上部署第一個應用來練習練習,還是有不少坑的。前提是docker已經在本地安裝了,具體安裝步驟可以上官網檢視。
1、拉取最新的tomcat映象到本地
sudo docker pull tomcat:lastest
2、基於Dockerfile建立映象檔案dockerfile可以幫助我們建立自定義的映象,本文比較簡單直接基於最新的tomcat映象,當然tomcat映象也可以自定義(tomcat版本、jdk版本)。
新建Dockerfile檔案,並將需要部署的war包放在相同資料夾下
Dockerfile檔案內容如下:
構建映象檔案:FROM tomcat:latest MAINTAINER helixin "[email protected]" WORKDIR /usr/local RUN rm -rf /usr/local/tomcat/webapps/* ADD tomcat-tutors-api.war /usr/local/tomcat/webapps/ROOT.war #RUN yes|unzip /usr/local/tomcat/webapps/ROOT.war -d /usr/local/tomcat/webapps/ROOT/ #RUN chmod 777 -Rf /usr/local/tomcat/webapps/* ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
sudo docker build -t hegaoye/tomcat .
請注意那個點 “.”
3、執行映象
sudo docker run -d -p 8080:8080 hegaoye/tomcat
容器啟動正常,當然取決於你的war包是否是正常,
注意 :war中的127.0.0.1 或者localhost
應該替換成指定的ip或者用link進行連結,否則在容器內127.0.0.1 就是容器本身,將找不到具體的服務會報錯。接下來可以語CI系統融合,將測試好的程式碼做成war 再與docker 融合,交付到自己的容器倉庫中做成版本號,需要時直接釋出容器即可。是不是很方便O(∩_∩)O。