第八章 实战:构建Tomcat镜像及发布

目录

一、准备开发环境包

二、编写DockerFile文件

三、构建镜像

四、运行镜像

五、访问镜像

六、发布镜像到DockerHub


一、准备开发环境包

准备镜像文件所需的Tomcat压缩包和JDK压缩包,readme.txt里的内容随便写。

二、编写DockerFile文件

bash 复制代码
FROM centos
MAINTAINER wangzhexiao

COPY readme.txt /home/wzx/app/

ADD jdk-8u421-linux-x64.tar.gz /home/wzx/app/
ADD apache-tomcat-9.0.95.tar.gz /home/wzx/app/

RUN yum -y install vim

ENV WORKPATH /home/wzx/app
WORKDIR $WORKPATH

ENV JAVA_HOME /home/wzx/app/jdk1.8.0_421
ENV CATALINA_HOME /home/wzx/app/apache-tomcat-9.0.95
ENV CATALINA_BASH /home/wzx/app/apache-tomcat-9.0.95
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

EXPOSE 8080

CMD /home/wzx/app/apache-tomcat-9.0.95/bin/startup.sh && tail -F /home/wzx/app/apache-tomcat-9.0.95/bin/logs/catalina.out

三、构建镜像

bash 复制代码
docker build -f dockfile -t mytomcat:1.0 .

四、运行镜像

bash 复制代码
docker run -d -p 3386:8080 --name wzx-tomcat -v /home/wzx/tomcat/test:/home/wzx/app/apache-tomcat-9.0.22/webapps/test -v /home/wzx/tomcat/testlogs/:/home/wzx/apache-tomcat-9.0.22/logs mytomcat:1.0

五、访问镜像

我们在宿主机挂载目录/home/wzx/tomcat/test下分别创建目录及文件:

index.jsp

WEB-INF/web.xml

web.xml里的代码如下:

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app
    version="4.0"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xml="http://www.w3.org/XML/1998/namespace"
    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">
  
</web-app>

index.jsp代码如下:

html 复制代码
Hello World!

如下图所示,访问成功 。我们本章通过tomcat服务器运行JavaWeb程序的镜像就此构建运行成功。

六、发布镜像到DockerHub

  1. 地址 https://hub.docker.com/ 注册自己的账号!

  2. 已有账号的确定账号密码可以登录

  3. 在本地服务器提交自己的镜像

登录后push自己本地镜像即可

bash 复制代码
docker push 镜像:版本
相关推荐
掘金-我是哪吒13 分钟前
分布式微服务系统架构第156集:JavaPlus技术文档平台日更-Java线程池使用指南
java·分布式·微服务·云原生·架构
亲爱的非洲野猪39 分钟前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
wfsm41 分钟前
spring事件使用
java·后端·spring
微风粼粼1 小时前
程序员在线接单
java·jvm·后端·python·eclipse·tomcat·dubbo
杨浦老苏1 小时前
开源服务运行监控工具Lunalytics
docker·群晖·网站监控
缘来是庄1 小时前
设计模式之中介者模式
java·设计模式·中介者模式
rebel2 小时前
若依框架整合 CXF 实现 WebService 改造流程(后端)
java·后端
代码的余温3 小时前
5种高效解决Maven依赖冲突的方法
java·maven
慕y2743 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习
paishishaba3 小时前
Maven
java·maven