微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dockerfile制作tomcat镜像,解决404问题

Dockerfile制作tomcat镜像


首先准备好JDK和tomcat的压缩包tar.gz文件

编写Dockerfile文件

官方命名Dockerfile,build会自动寻找这个文件,就不需要-f指定。

vim Dockerfile
FROM centos
MAINTAINER lieonchou<email_address>
copY readme.txt /usr/local/readme.txt #将所写的readme.txt文件复制到容器内部
ADD  jdk-8u11-linux-x64.tar.gz  /usr/local/      #添加文件,解压路径
ADD apache-tomcat-9.0.22.tar.gz /usr/local       #添加文件,解压路径
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.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

构建镜像

docker build -t diytomcat .    #最后的点表示当前目录

查看镜像

docker images

在这里插入图片描述

运行镜像

docker run -d -p 9090:8080 --name lieontomcat -v /home/lieon/build/tomcat/test:/urs/local/apache-tomcat-9.0.22/webapps/test -v /home/lieon/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.22/logs diytomcat

进入容器

docker exec -it [容器id] /bin/bash
pwd                 #查看认路径

外网访问

ip:9090

本地测试

进入挂载的文件夹test

cd /home/lieon/build/tomcat/test
ls         #查看目录

文件中进行操作

mkdir WEB-INF    #创建文件夹
vim   web.xml       #测试网站需要添加文件,不同的tomcat有不同的配置
vim  index.jsp      

创建XML 配置文件

在tomcat的webapps/ROOT/WEB-INF中,如下图所示

<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
                      https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
  version="5.0"
  Metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

</web-app>

创建jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8">
<title>hello,Lieon</title>
</head>
<body>
Hello World!<br/>
<%
System.out.println("------mytestweblogs------");
%>
</body>
</html>

查看网页

ip:9090/test

这里会有一个问题,访问时出现404错误,这是因为我们将index.jsp文件放在了WEB-INF中,/WEB-INF是访问受限制的,jsphtml文件不能放在这文件夹下。

在这里插入图片描述

修改index.jsp文件存放的的路径

将其直接放在test目录下,再次打开网页就成功了。

在这里插入图片描述

查看日志

cd     /home/lieon/tomcatlogs   #进入日志目录
ls       # 列出目录找到catalina.out文件,并输出

在这里插入图片描述

cat catalina.out      #输出日志

每访问一次网页都会增加一条记录。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐