Docker制作tomcat镜像并部署项目
本文讲解如何制作自己的tomcat镜像,并使用tomcat部署项目
原料准备:
tomcat、jdk安装包,dockerfile文件
步骤
1、准备压缩包
jdk-8u301-linux-x64.tar.gz -> jdk1.8.0_301
apache-tomcat-7.0.107.tar.gz -> apache-tomcat-7.0.107
2、编写dockerfile文件
官方指定命名Dockerfile
,这样构建的时候不用加-f
参数指定文件
FROM centos MAINTAINER xiao<find_onepiece@163.com> COPY readme.txt /usr/local/readme.txt ADD jdk-8u301-linux-x64.tar.gz /usr/local ADD apache-tomcat-7.0.107.tar.gz /usr/local RUN yum -y install vim ENV MYPATH /usr/local WORKDIR $MYPATH ENV JAVA_HOME /usr/local/jdk1.8.0_301 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.107 ENV CATALINE_BASH /usr/local/apache-tomcat-7.0.107 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINE_HOME/bin EXPOSE 8080 CMD /usr/local/apache-tomcat-7.0.107/bin/startup.sh && tail -f /usr/local/apache-tomcat-7.0.107/bin/logs/catalina.out
3、执行构建
docker build -t diytomcat . # 自动寻找Dockerfile文件
构建成功:
Successfully built e68ad8caa2a4 Successfully tagged diytomcat:latest
4、启动容器
/webapps/test
部署的项目路径,浏览器访问ip:port/test
docker run -it -p 9090:8080 --name xiaoTomcat -v /home/xiao/build/tomcat/test:/usr/local/apache-tomcat-7.0.107/webapps/test -v /home/xiao/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-7.0.107/logs diytomcat
5、访问查看
数据卷挂载成功
6、发布项目
已经挂载了数据卷,所以编写宿主机的项目文件就可以了
在挂载路径 /home/xiao/build/tomcat/test
下
新建文件 web.xml
,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> </web-app>
新建文件 index.jsp
,内容如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <body> <h2>Hello World!</h2> <h2>xiao</h2> <% System.out.println("my tomcat project logs"); %> </body> </html>
7、浏览器访问
url:ip:port/test
8、查看日志卷
tail -f catalina.out
完成从构建镜像到部署项目
到此这篇关于Docker制作tomcat镜像并部署项目的文章就介绍到这了,更多相关Docker制作tomcat镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker搭建redis哨兵集群并且整合springboot的实现
本文主要介绍了docker搭建redis哨兵集群并且整合springboot的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-07-07写给前端的nginx配置指南基于docker所有配置秒级运行(最新讲解)
这篇文章主要介绍了写给前端的nginx配置指南基于docker所有配置秒级运行,通过 docker 高效学习 nginx 配置,本文给大家介绍的非常详细,需要的朋友可以参考下2022-06-06docker启动镜像失败后如何用日志logs查找失败原因及解决
在使用docker的时候,在某些未知的情况下可能启动了容器,但是过了没几秒容器自动退出了,这个时候如何排查问题呢?下面这篇文章主要给大家介绍了关于docker启动镜像失败后如何用日志logs查找失败原因及解决的相关资料,需要的朋友可以参考下2023-05-05浅析docker-compose部署mysql无法访问的问题
Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose不再需要使用shell脚本来启动容器。接下来通过本文给大家分享docker-compose部署mysql无法访问的问题,需要的朋友参考下吧2018-10-10
最新评论