制作Tomcat镜像
1、准备镜像文件tomcat压缩包,jdk的压缩包!
2、编写DockerFile文件,官方命名Dockerfile
,build会自动寻找这个文件,就不需要-f指定了
注意:现在不要直接用centos,这个会直接去找8的,但是8已经停止维护了,会有很多问题,比如源无法下载
# 引入基础centos
FROM centos:7
#注释作者
MAINTAINER xx<xx@qq.com>
#将外部文件添加到内部
COPY readme.txt /usr/local/readme.txt
#将dk和tomcat加入到容器
ADD jdk-8u311-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.62.tar.gz /usr/local/
#安装vim命令
RUN yum -y install vim
#设置环境
ENV MYPATH /usr/local
#设置工作目录
WORKDIR $MYPATH
#设置JAVA_HOME 环境变量,后边版本对应上方安装包
ENV JAVA_HOME /usr/local/jdk1.8.0_311
#设置CLASSPATH 环境变量
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#设置CATALINA_HOME 环境变量
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.62
#设置CATALINA_BASE 环境变量
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.62
#设置PATH
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#暴露端口
EXPOSE 8080
#指定容器启动后执行的命令
CMD /usr/local/apache-tomcat-9.0.62/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.62/bin/logs/catalina.out
3、构建镜像
docker build -t jzytomcat .
4、启动镜像
#启动并且挂载目录
docker run -d -p 9090:8080 --name jzytomcat -v /home/jzy/build/tomcat/test:/usr/local/apache-tomcat-9.0.62/webapps/test -v /home/jzy/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.62/logs jzytomcat
5、访问测试
6、发布项目(由于做了卷挂载,直接在本地编写项目就可以发布了)
测试
编写WEB-INF/wen.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>
编写index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello,jzy</title>
</head>
<body>
Hello World!<br/>
<%
System.out.println("----my test web logs ----")
%>
</body>
</html>
项目部署成功,可以直接访问