Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
生活随笔
收集整理的這篇文章主要介紹了
Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- Pre
- Docker 官方鏡像 Dockerfile
- dockerfile制作tomcat鏡像
- 準備軟件
- 編寫Dockerfile文件
- dockerfile構建鏡像
- 啟動鏡像
- 測試訪問tomcat
Pre
Docker Review - dockerfile 入門篇
Docker Review - dockerfile 實戰_給基礎鏡像增加功能
Docker 官方鏡像 Dockerfile
https://github.com/docker-library/docs
以tomcat為例
看著里面的地址,
或者直接點擊如下的鏈接
dockerfile制作tomcat鏡像
準備軟件
tomcat + JDK
編寫Dockerfile文件
FROM centos MAINTAINER artisanCOPY readme.txt /usr/local/readme.txtADD jdk-8u161-linux-x64.tar.gz /usr/local/ ADD apache-tomcat-9.0.44.tar.gz /usr/local/ENV MYPATH /usr/local WORKDIR $MYPATHENV JAVA_HOME /usr/local/jdk1.8.0_161 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.44 ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.44 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/binEXPOSE 8080 CMD /usr/local/apache-tomcat-9.0.44/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.44/bin/logs/catalina.outADD 有能力自動解壓文件。如果<src>參數是一個可識別的壓縮格式(tar, gzip, bzip2, etc)的本地文件 ,就會被解壓到指定容器文件系統的路徑<dest>。
dockerfile構建鏡像
[root@VM-0-7-centos jdk]# docker build -f tomcat-dockerfile -t xxxtomcat .Sending build context to Docker daemon 380.8MB Step 1/14 : FROM centos---> 5d0da3dc9764 Step 2/14 : MAINTAINER artisan---> Using cache---> f19684f6e082 Step 3/14 : COPY readme.txt /usr/local/readme.txt---> Using cache---> be6de2a66c66 Step 4/14 : ADD jdk-8u161-linux-x64.tar.gz /usr/local/---> Using cache---> 4a3259261dea Step 5/14 : ADD apache-tomcat-9.0.44.tar.gz /usr/local/---> Using cache---> 287bd3c3c17d Step 6/14 : ENV MYPATH /usr/local---> Using cache---> 9f7b7e781819 Step 7/14 : WORKDIR $MYPATH---> Using cache---> 8c6faa53c274 Step 8/14 : ENV JAVA_HOME /usr/local/jdk1.8.0_161---> Using cache---> a5eddd2652a9 Step 9/14 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar---> Using cache---> 7dbc598b3f58 Step 10/14 : ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.44---> Using cache---> 2b7eb2d574f9 Step 11/14 : ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.44---> Using cache---> cff7c91e7b1d Step 12/14 : ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin---> Using cache---> c19425f9f62d Step 13/14 : EXPOSE 8080---> Using cache---> 067a0f5eb770 Step 14/14 : CMD /usr/local/apache-tomcat-9.0.44/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.44/bin/logs/catalina.out---> Using cache---> c5b9494ea9b1 Successfully built c5b9494ea9b1 Successfully tagged xxxtomcat:latest啟動鏡像
端口映射 + 掛載目錄
[root@VM-0-7-centos jdk]# docker run -d -p 7979:8080 --name xgjtomcat -v /root/tomcat/test:/usr/local/apache-tomcat-9.0.44/webapps/test -v /root/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.44/logs artisantomcat觀察本地的宿主機的目錄 /root/tomcat/test 和 /root/tomcat/tomcatlogs ,會自動創建。
測試訪問tomcat
根據映射
-v /root/tomcat/test:/usr/local/apache-tomcat-9.0.44/webapps/test -v /root/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.44/logs到掛載test的目錄下 ,創建一個簡單的項目,看看能不能正常運行
新建一個WEB-INF目錄,然后創建一個web.xml文件,接著創建一個index.jsp文件
[root@VM-0-7-centos tomcat]# pwd /root/tomcat [root@VM-0-7-centos tomcat]# [root@VM-0-7-centos tomcat]# ls test tomcatlogs [root@VM-0-7-centos tomcat]# cd test/ [root@VM-0-7-centos test]# [root@VM-0-7-centos test]# ll total 0 [root@VM-0-7-centos test]# mkdir WEB-INF[root@VM-0-7-centos test]# ll total 8 -rw-r--r-- 1 root root 150 Oct 14 23:41 index.jsp drwxr-xr-x 2 root root 4096 Oct 14 23:43 WEB-INF <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID"version="2.5"></web-app> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Tomcat</title> </head> <body><h1>hello,artisan</h1> </body> </html>映射后,和宿主機的目錄是實時的,我們連到容器里去看看
OK , 一個tomcat鏡像成功的創建成功了。
總結
以上是生活随笔為你收集整理的Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker Review - dock
- 下一篇: Docker Review - Dock