(1)压缩包
apache-tomcat-9.0.22.tar.gz 下载地址:https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/
jdk-8u60-linux-x64.tar.gz
(2)编写Dockerfile
Dockerfile
FROM centos
MAINTAINER dong<7712199@qq.com>
COPY readme.txt /usr/local/readme.txt
ADD jdk-8u60-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_60
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.22/bin/logs/catalina.out
(3)构建镜像
[root@192 tomcat]# docker build -t dong_tomcat .
执行成功如下图所示:
Successfully built 0b71a90fed81
Successfully tagged dong_tomcat:latest
[root@192 tomcat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
dong_tomcat latest 0b71a90fed81 31 seconds ago 684MB
[root@192 tomcat]#
(4)启动镜像
[root@192 tomcat]# docker run -d -p 9090:8080 --name dongdongtomcat -v /home/docker/tomcat/test:/usr/local/apache-tomcat-9.0.22/webapps/test -v /home/docker/tomcat/tomcatlogs:/usr/local/apache-tomcat-9.0.22/logs dong_tomcat
42e22c4adc09713a71edbddd4c20a28f8f6894779330346aabe00b16cb80c851
[root@192 tomcat]#
(5)进入容器
[root@192 tomcat]# docker exec -it 42e22c4adc09713a71e /bin/bash
[root@42e22c4adc09 local]# ls
apache-tomcat-9.0.22 bin etc games include jdk1.8.0_60 lib lib64 libexec readme.txt sbin share src
[root@42e22c4adc09 local]# pwd -------------注释:默认路径为/usr/local
/usr/local
[root@42e22c4adc09 local]# cd apache-tomcat-9.0.22/
[root@42e22c4adc09 apache-tomcat-9.0.22]# ls
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf lib logs temp webapps work
[root@42e22c4adc09 apache-tomcat-9.0.22]#
(6)本地测试
[root@192 tomcat]# curl localhost:9090
<!DOCTYPE html> -------------------注释:成功访问
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Apache Tomcat/9.0.22</title>
<link href="favicon.ico" rel="icon" type="image/x-icon" />
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<link href="tomcat.css" rel="stylesheet" type="text/css" />
</head>
...
(7)外网测试
(8)创建web.xml和index.jsp
web.xml
[root@192 test]# ls
index.jsp WEB-INF
[root@192 test]# cd WEB-INF/
[root@192 WEB-INF]# ls
web.xml
[root@192 WEB-INF]# pwd
/home/docker/tomcat/test/WEB-INF
[root@192 WEB-INF]# cat web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0"
metadata-complete="true">
</web-app>
[root@192 WEB-INF]#
index.jsp
[root@192 test]# ls
index.jsp WEB-INF
[root@192 test]# pwd
/home/docker/tomcat/test
[root@192 test]# cat index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件上传实例</title>
</head>
<body>
<h1>文件上传实例</h1>
<form method="post" action="/TomcatTest/UploadServlet" enctype="multipart/form-data">
选择一个文件:
<input type="file" name="uploadFile" />
<br/><br/>
<input type="submit" value="上传" />
</form>
</body>
</html>
[root@192 test]#
(9)外网测试
http://192.168.0.105:9090/test/
测试成功。
(10)查看日志
[root@192 tomcat]# ls
apache-tomcat-9.0.22.tar.gz Dockerfile jdk-8u60-linux-x64.tar.gz readme.txt test tomcatlogs
[root@192 tomcat]# cd tomcatlogs/
[root@192 tomcatlogs]# ls
catalina.2021-10-11.log host-manager.2021-10-11.log localhost_access_log.2021-10-11.txt
catalina.out localhost.2021-10-11.log manager.2021-10-11.log
[root@192 tomcatlogs]# cat catalina.out
...