Dockerfile编写,配置基于原生jdk8的tomcat环境

本文详细介绍如何使用Dockerfile构建基于原生JDK8的Tomcat环境,包括配置环境变量、暴露端口及启动Tomcat等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dockerfile编写,配置基于原生jdk8的tomcat环境

  1. 需要注意的是需要准备 jdk-8u11-linux-x64.tar.gz, apache-tomcat-8.5.57.tar.gz 至工作目录下(选择对应的版本,和Dockerfile路径匹配)

  2. Dockerfile文件

    FROM centos:7 # centos7 环境
    
     MAINTAINER wanjiahao<1725136424@qq.com> # 维护者
    
     ENV WORK_PATH /usr/local # 目录变量
    
     WORKDIR $WORK_PATH # 设置工作目录
    
     ADD jdk-8u11-linux-x64.tar.gz $WORK_PATH # 添加jdk至指定目录
    
     ADD apache-tomcat-8.5.57.tar.gz $WORK_PATH # 添加tomcat指定目录
    
     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-8.5.57
     ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.57
     ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    
     EXPOSE 8080 # 暴露端口
    
     CMD /usr/local/apache-tomcat-8.5.57/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.57/logs/catalina.out # 启动tomcat,并监听日志
    
  3. 然后直接工作目录生成目标镜像(镜像名称:版本号)

     docker build -t 镜像名称:版本号 .
    
  4. 运行当前镜像

    docker run -d -p 8080:8080 --name diytomcat:1.0 
    -v 当前工作目录/webapps:/usr/local/apache-tomcat-8.5.57/webapps 镜像名称:版本号
    
    • -d 后台运行
    • -p 外界端口和内部端口的映射 (外界:内部)
    • –name 给当前运行的容器赋予一个名称
    • -v 数据卷的挂载 如果需要挂载logs下的文件同上所述
  5. 如果直接想要镜像,可以在我的镜像仓库直接拉去

    sudo docker pull registry.cn-hangzhou.aliyuncs.com/haogege/wanjiahao:1.0 # 拉去自定义tomcat
    
    sudo docker tag 镜像id 镜像名称:版本号 # 重新命名镜像
    
中北萌新程序员于 2024-07-30 22:46:40 发布阅读量4.6w 收藏 1k点赞数 186分类专栏: java框架 每日学习 文章标签: spring boot 后端 java版权每日学习同时被 2 个专栏收录47 篇文章12 订阅订阅专栏java框架15 篇文章4 订阅订阅专栏目录:SpringBootSpring的缺点什么是SpringBoot?Springboot3 版本要求Springboot的三种构建方式官网搭建通过IDEA脚手架搭建通过Maven搭建项目SpringBoot的项目结构编写一个测试代码YAML文件自定义配置文件@Value读取配置文件@ConfigurationProperties读取配置文件SpringBoot整合Web开发注册方式一注册方式二SpringBoot整合Web开发_Filter注册方式一注册方式二SpringBoot整合Web开发_Listener注册方式一注册方式二SpringBoot整合Web开发_静态资源SpringBoot整合Web开发_静态资源其他存放位置SpringBoot整合Web开发_JSPSpringBoot整合MyBatisSpringBoot单元测试SpringBoot热部署SpringBoot定时任务SpringBoot内容协商机制SpringBoot内容协商机制_基于请求参数SpringBoot国际化SpringBoot国际化_在Thymeleaf中进行国际化SpringBoot参数校验简单数据类型异常处理参数校验_校验相关注解参数校验_对象类型SpringBoot指标监控添加Actuator功能Spring Boot AdminSpringBoot日志管理Logback打印自定义日志SpringBoot项目部署项目打包多环境配置Dockerfile制作镜像Maven插件制作镜像SpringBoot3新特性与之前版本的改动ProblemDetails原生镜像Native Image 和 GraalVM生成原生镜像生成Linux原生镜像SpringBootSpring的缺点Spring是一个非常优秀的轻量级框架,以IOC(控制反转)和AOP(面向切面)为思想内核,极大简化了JAVA企业级项目的开发。虽然Spring的组件代码是轻量级的,但它的配置却是重量级的。使用Spring进行项目开发需要在配置文件中写很多代码,所有这些配置都代表了开发时的损耗。除此之外,Spring项目的依赖管理也是一件耗时耗力的事情。在环境搭建时,需要分析要导入哪些库的坐标,而且还需要分析导入与之有依赖关系的其他库的坐标,一旦选错了依赖的版本,随之而来的不兼容问题就会严重阻碍项目的开发进度。比如Spring5.0以上只能使用Junit4.12以上的版本。总结起来,Spring的缺点就是:配置过于繁琐。引入的依赖过多,版本控制复杂。什么是SpringBoot?SpringBoot对Spring的缺点进行改善和优化,基于约定大于配置的思想,简化了Spring的开发,所谓简化是指简化了Spring中大量的配置文件和繁琐的依赖引入。所以SpringBoot是一个服务于框架的框架,它不是对Spring功能的增强,而是提供了一种快速使用Spring框架的方式SpringBoot的优点:配置简单依赖引入简单提供了一些大型项目的非功能特性,如嵌入式服务器,安全指标,健康监测等。自动配置SpringBoot项目自动提供最优配置,同时可以修改默认值满足特定的要求。起步依赖SpringBoot的依赖是基于功能的,而不是普通项目的依赖是基于JAR包的。SpringBoot将完成一个功能所需要的所有坐标打包到一起,并完成了版本适配,我们在使用某功能时只需要引入一个依赖即可。Springboot3 版本要求然使用SpringBoot是需要一定版本要求的:
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值