version: centos7
[root@localhost dockerfile]# docker -v
Docker version 20.10.6, build 370c289
[root@localhost dockerfile]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
1.编写dockerfile
FROM centos
MAINTAINER xp<[email protected]>
COPY ./readme.txt /usr/local/readme.txt
ADD jdk-8u11-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.50.tar.gz /usr/local
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.50
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.50
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.50/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.50/bin/logs/catalina.out
构建容器
docker build -t diytomcat .
启动容器
docker run -d -p9090:8080 \
--name hptomcat \
-v /home/hp/build/tomcat/test/:/usr/local/apache/apache-tomcat-9.0.50/webapps/test/ \
-v /home/hp/build/tomcat/logs/:/usr/local/apache/apache-tomcat-9.0.50/logs/ diytomcat
编写测试文件 目录结构如下
└── test
├── index.jsp
└── WEB-INF
├── index.jsp.bak
├── web.xml
└── web.xml.bak
[root@localhost tomcat]# cat test/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
Hello World!<br/>
<%
out.println("你的 IP 地址 " + request.getRemoteAddr());
%>
</body>
</html>
[root@localhost tomcat]# cat test/WEB-INF/web.xml
<?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"
version="2.5">
</web-app>
curl访问:http://192.168.89.132:9090/test/
完美!