Docker制作Tomcat镜像

 准备工作:

1、自定义一个工作目录,我这里定义的是 /home/usr/local/。

2、自行下载tomcat,也可以下载我百度网盘(  提取码:zbkl)里面提供的,jdk并上传至linux服务器的自定义工作目录。

3、切换到/home/usr/local/路径下,vim Dockerfile  ,开始编写dockerfile内容。

FROM centos
MAINTAINER zbk<1546232926@qq.com>

ADD jdk-8u251-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.56.tar.gz /usr/local/

RUN yum -y install vim

ENV mypath /usr/local/
WORKDIR $mypath

ENV JAVA_HOME /usr/local/jdk1.8.0_251
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.56
ENV CATALINA_BASH /usr/local/apache-tomcat-8.5.56

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin:$CATALINA_HOME/lib

EXPOSE 8080

CMD /usr/local/apache-tomcat-8.5.56/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.56/bin/logs/catalina.out

4、开始构建tomcat,这里不需要再使用-f 指定dockerfile路径

docker build  -t diytomcat .

5、运行自己制作的镜像 (把test文件夹挂载出来,无需进入容器即可修改内容,从而更新项目)

docker run -d -p 8080:8080 --name mytomcat -v /home/usr/local/tomcat/webapps/test:/usr/local/apache-tomcat-8.5.56/webapps/test -v /home/usr/local/tomcat/logs:/usr/local/apache-tomcat-8.5.56/logs diytomcat

6、测试访问能否链接到Tocmat。内网(curl localhost:8080 ;外网 IP:8080)

7、切换到/home/usr/local/tomcat/webapps/test路径下,测试修改test文件夹内容,容器内项目的变化情况

mkdir WEB-INF

vim 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">

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

vim index.jsp<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>zbk(runoob.com)</title>
</head>
<body>
Hello World!<br/>
<%
out.println("你的 IP 地址 " + request.getRemoteAddr());
%> </body> </html>

9、刷新tomcat访问地址 ip:8080/test,即可看到变化!!!

10、使用docker push 镜像NAME:[Tag] ,把自己的镜像发布到DockerHub上面!

posted @ 2020-07-22 17:35  流年飞逝  阅读(520)  评论(0编辑  收藏  举报