docker通過Dockerfile制作tomcat鏡像


1、准備鏡像文件:tomcat壓縮包、jdk壓縮包,版本信息如下圖所示:

 

2、編寫dockerfile文件,官方命名:Dockerfile,build會自動尋找這個文件,不用 -f指定

FROM centos:7

MAINTAINER yanxiaoling572503145@qq.com

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u202-linux-x64.tar.gz /usr/local/

ADD apache-tomcat-10.0.18.tar.gz /usr/local/

RUN  yum -y  install vim

ENV MYPATH /usr/local

WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_202

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-10.0.18

ENV CATALINA_BASE /usr/local/apache-tomcat-10.0.18

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD chmod 777 /usr/local/apache-tomcat-10.0.18/bin/startup.sh

CMD chmod 777 /usr/local/apache-tomcat-10.0.18/bin/version.sh

CMD /usr/local/apache-tomcat-10.0.18/bin/startup.sh && tail -f /usr/local/apache-tomcat-10.0.18/logs/catalina.out

 

3、構建鏡像:docker build -t diytomcat .

 

4、docker images 查看已構建的鏡像:

 

5、啟動容器並做掛載

docker run -d -p 9090:8080 --name yanxltomcat -v /home/yanxiaoling/build/tomcat/test:/usr/local/apache-tomcat-10.0.18/webapps/test -v /home/yanxiaoling/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-10.0.18/logs diytomcat

 

6、在宿主機訪問9090端口測試可訪問成功:curl localhost:9090

 

7、外網訪問也可成功:

 

8、發布項目:

(由於啟動容器的時候做了卷掛載,我們直接在本地編寫項目就可以發布了。)

在掛載的test目錄下mkdir WEB-INF,再寫一個簡單的web.xml文件

 

test目錄下新建一個文件:index.jsp

外網訪問宿主機的9090端口的test文件夾即可訪問到index.jsp

 

9、若是訪問失敗,請繼續往下看:

docker attach 容器ID

進入容器內部,再運行ps -ef 查看運行的進程,確認tomcat未運行后,進入tomcat的bin目錄下,先執行chmod 777 startup.sh給startup.sh賦權,再執行./startup.sh運行下tomcat:

 

10、查看容器內安裝的jdk版本:進入容器內部執行命令:java -version

 

11、查看安裝的tomcat版本,進入tomcat安裝目錄下的bin目錄,先執行命令:chmod 777 version.sh 命令賦權,再執行./version.sh命令查看版本信息,如下圖所示,我安裝的版本是:

apache-tomcat-10.0.18

 

12、容器內部執行命令:curl 127.0.0.1:8080 驗證tomcat是否已運行成功。

 

13、在宿主機執行命令:curl localhost:9090 測試是否可訪問容器內部的tomcat,如下圖所示,訪問成功:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM