docker 運行tomcat 並部署 java web項目


以下tomcat官方鏡像中tomcat:7 和tomcat:8的目錄。

CATALINA_BASE:   /usr/local/tomcat
CATALINA_HOME:   /usr/local/tomcat
CATALINA_TMPDIR: /usr/local/tomcat/temp
JRE_HOME:        /usr
CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

先將簡單的war包上傳到服務器放在任意目錄,我的war包是docker.war,   這里是放在docker_tomcat/webapps, cd 進去docker_tomcat,  執行如下命令

docker run -it --rm -p 8888:8080 -v $PWD/webapps:/usr/local/tomcat/webapps tomcat:8.0

參數解析:

-it         #  是-i  和 -t的簡寫, 表示以交互式的方式運行容器,加上-d表示后台運行,這里為了截圖輸出啟動日志我用了-it,也可以用-d,再用"docker logs 容器名"命令輸出日志
--rm        #當容器被停止時自動刪除容器
-p 8888:80  #80是為容器中的tomcat設置的端口, 這里表示將80映射到宿主機8888端口, 如果只寫-p 80  容器會隨機取值32768~61000中較大的端口號來映射到80端口上
-v          # 將tomcat中的usr/local/tomcat/webapps目錄映射到宿主機當前目錄的webapps目錄,后面更新jar包直接扔到被映射的宿主機目錄中即可
tomcat:8.0  # 鏡像名:tag標簽

運行之后會輸出taomcat的啟動日志如下:

 

 1 # docker run -it --rm -p 8888:8080 -v $PWD/webapps:/usr/local/tomcat/webapps tomcat:8.0
 2 Using CATALINA_BASE:   /usr/local/tomcat
 3 Using CATALINA_HOME:   /usr/local/tomcat
 4 Using CATALINA_TMPDIR: /usr/local/tomcat/temp
 5 Using JRE_HOME:        /docker-java-home/jre
 6 Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
 7 22-Oct-2018 05:09:13.274 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.0.53
 8 22-Oct-2018 05:09:13.276 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 29 2018 14:42:45 UTC
 9 22-Oct-2018 05:09:13.277 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.0.53.0
10 22-Oct-2018 05:09:13.277 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
11 22-Oct-2018 05:09:13.278 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.10.5-1.el6.elrepo.x86_64
12 22-Oct-2018 05:09:13.278 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
13 22-Oct-2018 05:09:13.279 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-7-openjdk-amd64/jre
14 22-Oct-2018 05:09:13.279 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.7.0_181-b01
15 22-Oct-2018 05:09:13.280 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
16 22-Oct-2018 05:09:13.280 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
17 22-Oct-2018 05:09:13.280 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
18 22-Oct-2018 05:09:13.281 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
19 22-Oct-2018 05:09:13.282 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
20 22-Oct-2018 05:09:13.285 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
21 22-Oct-2018 05:09:13.286 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22 22-Oct-2018 05:09:13.286 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
23 22-Oct-2018 05:09:13.287 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
24 22-Oct-2018 05:09:13.287 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
25 22-Oct-2018 05:09:13.288 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
26 22-Oct-2018 05:09:13.288 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library 1.2.17 using APR version 1.5.1.
27 22-Oct-2018 05:09:13.288 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
28 22-Oct-2018 05:09:13.297 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.1.0f  25 May 2017)
29 22-Oct-2018 05:09:13.464 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
30 22-Oct-2018 05:09:13.495 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
31 22-Oct-2018 05:09:13.501 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1214 ms
32 22-Oct-2018 05:09:13.591 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina
33 22-Oct-2018 05:09:13.595 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.53
34 22-Oct-2018 05:09:13.666 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /usr/local/tomcat/webapps/docker.war
35 22-Oct-2018 05:09:14.347 WARNING [localhost-startStop-1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0]. Default version will be used.
36 22-Oct-2018 05:09:14.742 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /usr/local/tomcat/webapps/docker.war has finished in 1,075 ms

從34行開始就可以看到已經在部署docker.war了

 

瀏覽器訪問: http://<ip>:<port>/<application-name> 也就是

 

因為是用來練習docker中部署war, 所以我的docker.war  很簡單,  就是用idea 新建出來的project 什么后台代碼都沒加, 只是改了index.jsp的內容。 

 

我的web程序結構:

 

 done.

 


免責聲明!

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



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