?目的:通過編寫Dockerfile 來運(yùn)行Java應(yīng)用
?環(huán)境: 實(shí)體機(jī)器Ubuntu 14.10 ? 、docker 版本 17.03.0-ce?
第一步、?準(zhǔn)備好
jdk-8u121-linux-x64.tar.gz、apache-tomcat-8.0.42.tar.gz ?、hello.war (測試包)
第二步?库物、編寫dockerfile
#基礎(chǔ)鏡像FROM centos
#維護(hù)者
MAINTAINER mark 80692072@qq.com
#設(shè)置一個(gè)時(shí)區(qū)環(huán)境變量
ENV TZ "Asia/Shanghai"
#設(shè)置工作目錄
WORKDIR /root
#copy jdk and tomcat into image
ADD ?apache-tomcat-8.0.42.tar.gz ?/root/
ADD ?jdk-8u121-linux-x64.tar.gz ? /root/
#設(shè)置jkd環(huán)境
ENV JAVA_HOME /root/jdk1.8.0_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar?
ENV PATH $PATH:$JAVA_HOME/bin
#copy war 到tomcat發(fā)布目錄
COPY ?hello.war /root/apache-tomcat-8.0.42/webapps/
#設(shè)置tomcat可執(zhí)行權(quán)限
RUN chmod 711 /root/apache-tomcat-8.0.42/bin/ -R
#container想暴露22端口給宿主機(jī)
EXPOSE 22
#執(zhí)行切入點(diǎn)ENTRYPOINT /root/apache-tomcat-8.0.42/bin/startup.sh && tail -F /root/apache-tomcat-8.0.42/logs/catalina.out
注意:
1.紅色#為注釋
2.FROM開頭說明使用的鏡像為CENTOS
3.ADD和COPY區(qū)別是,ADD拷貝到鏡像里會自動解壓gz包贷帮;COPY則不會
4.?藍(lán)色字體為了將bin目錄下的可執(zhí)行文件修改為具有執(zhí)行權(quán)限戚揭。否則無法調(diào)用執(zhí)行。
5.保存的文件名為?Dockerfile
6.jdk 撵枢、tomcat 民晒、測試包精居、Dockerfile放在同一個(gè)目錄下
第三步 開始執(zhí)行鏡像
docker build -t mxg/center:tomcat836 ?.
截圖如下:
即代表生成鏡像成功。(注意此處并不代表此鏡像可以使用)
第四步 ?運(yùn)行鏡像
docker run ? ? ? ? -d ? ? ? ? ??-p 8081:8080 ? ? ? ? ? ? ? ? ? ? ? ? ae115c39d27e
(守護(hù)進(jìn)程方式)? ? ?(宿主機(jī)端口:容器端口) 鏡像ID
第五步 ?檢查運(yùn)行情況
docker ps -a
注意:STATUS列 潜必,僅顯示如下情況代表tomcat啟動成功否則靴姿,可能會有異常。
第六步 ?在線展示
http://172.29.32.197:8081/hello/
至此第一版本的tomcat運(yùn)行程序即完成磁滚。