1. 程式人生 > >將 war 包 打成docker映象

將 war 包 打成docker映象

隨著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。