【通过Docker快速部署Tomcat9.0】

在这里插入图片描述

文章目录

  • 前言
  • 一、部署docker
  • 二、部署Tomcat
    • 2.1 创建存储卷
    • 2.2 运行tomcat容器
    • 2.3 查看tomcat容器
    • 2.4 查看端口是否监听
    • 2.5 防火墙开放端口
  • 三、访问Tomcat


前言

Tomcat介绍
Tomcat 是由 Apache 软件基金会(Apache Software Foundation)开发的一个开源 Java Web 应用服务器。它是 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。
Tomcat 支持最新的 Servlet 和 JSP 规范,例如 Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。由于 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱,并得到了部分软件开发商的认可,成为比较流行的 Web 应用服务器。
Tomcat 的功能和特点

轻量级应用服务器:Tomcat 属于轻量级应用服务器,适用于中小型系统和并发访问用户不是很多的场合。它是开发和调试 JSP 程序的首选;
独立运行:Tomcat 实际上是独立运行的,虽然它可以与 Apache 服务器集成,但它作为一个独立的进程运行;
支持多种 Java EE 规范:Tomcat 实现了几个 Java EE 规范,包括 Java Servlet、Java Server Pages(JSP)、Java Expression Language 和 Java WebSocket 等;
灵活的配置和扩展:Tomcat 提供了丰富的配置选项和扩展功能,可以通过修改配置文件和添加组件来满足不同的需求;
Tomcat 的应用场景
Tomcat 在 Web 应用开发中有广泛的应用场景,例如:
开发和调试 JSP 程序:Tomcat 是开发和调试 JSP 程序的首选服务器;
中小型 Web 应用:由于 Tomcat 是轻量级应用服务器,适用于中小型系统和并发访问用户不是很多的场合;
与 Apache 服务器集成:Tomcat 可以与 Apache 服务器集成,Apache 处理静态内容,Tomcat 处理动态内容;
总之,Tomcat 是一个功能强大、性能稳定、易于使用的 Java Web 应用服务器,适用于各种 Web 应用开发和部署场景。


提示:以下是本篇文章正文内容,下面案例可供参考

一、部署docker

部署docker可以参考之前写的博客,针对不同的操作系统安装方法

二、部署Tomcat

2.1 创建存储卷

代码如下(示例):

#创建存储卷
docker volume create -d local tomcat_webapps
#查看容器的存储卷
docker volume ls

在这里插入图片描述

2.2 运行tomcat容器

代码如下(示例):
–name:自定义容器名称
–restart=always 表示容器服务随系统重启,保持运行状态
-p :第一个是暴露宿主机端口号8888,这样外部才能连接服务;
第二个端口号暴露的是容器的端口号8080,这样宿主机才能连接容器;
宿主机与容器内部端口映射后,外部就能通过服务器访问容器服务;
-v:表示容器存储卷与宿主机存储文件对应,在宿主机外部修改文件,容器内部文件也会同步更新;
-d :表示后台运行方式是以交互式运行;tomcat:9.0:运行时加上版本,指定是这个服务器

docker run --name tomcat1 -t \--restart=always \-p 8888:8080 \-v tomcat1_webapps:/usr/local/tomcat/webapps \-d tomcat:9.0

在这里插入图片描述

2.3 查看tomcat容器

代码如下(示例):

docker ps -a

在这里插入图片描述

2.4 查看端口是否监听

netstat -nutlp

在这里插入图片描述

2.5 防火墙开放端口

#开放端口策略
firewall-cmd --zone=public --add-port=8888/tcp --permanent
#刷新防火墙配置
firewall-cmd --reload
#查看已开放端口
firewall-cmd --list-ports

在这里插入图片描述

三、访问Tomcat

在另外一台网络通的主机上通过在浏览器访问
http://ip地址:8888
界面报404,说明网络通了,只是没有配置web项目,各位可以将自己的web项目放在tomcat1_webapps文件中。
在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/96263.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/96263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LabVIEW UI 分辨率适配

针对 LabVIEW UI 在不同分辨率下的适配,现有方案分三类:一是现有 VI 可通过 “VI 属性 - 窗口大小” 勾选比例保持或控件缩放选项快速调整,也可取消勾选或换等宽字体防控件移位;二是项目初期以最低目标分辨率为基准,用…

国产化FPGA开发板:2050-基于JFMK50T4(XC7A50T)的核心板

(IEB-PS-3051-邮票孔) 一、核心板概述 板卡基于JFMK50T4国产化FPGA芯片,设计的一款工业级核心板,板卡集成主芯片、电源、DDR、配置芯片,大大减轻客户的扩展开发困难。丰富的IO和4个GTP,让用户轻…

Webpack 核心原理剖析

时至今日,Webpack 已迭代到 5.x 版本,其功能模块的扩充和复杂度的提升使得源码学习成本陡增。官方文档的晦涩表述更是让许多开发者望而却步。然而,理解 Webpack 的核心原理对优化构建流程、定制化打包方案至关重要。本文将通过简化流程和代码…

移植Qt4.8.7到ARM40-A5

移植Qt4.8.7到ARM40-A5 主机平台:Ubuntu 16.04 LTS(x64) 目标平台:ARM40-A5 Qt版本:Qt4.8.7 ARM GCC编译工具链: arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 ----------## Qt移植步骤 ## 1、了解Ubuntu&am…

C++_哈希

1. unordered系列关联式容器在C98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到$log_2 N$,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。最好 的查询是&#xf…

Redis 内存管理机制:深度解析与性能优化实践

🧠 Redis 内存管理机制:深度解析与性能优化实践 文章目录🧠 Redis 内存管理机制:深度解析与性能优化实践🧠 一、Redis 内存架构全景💡 Redis 内存组成结构📊 内存占用分布示例⚙️ 二、内存分配…

cargs: 一个轻量级跨平台命令行参数解析库

目录 1.简介 2.安装与集成 3.项目的目录结构及介绍 4.核心数据结构与函数 5.基本使用示例 6.应用案例和最佳实践 7.高级用法 8.与其他库的对比 9.总结 1.简介 cargs 是一个轻量级、无依赖的 C 语言命令行参数解析库,虽然本身是 C 库,但可以无缝…

【数学建模】质量消光系数在烟幕遮蔽效能建模中的核心作用

前言:欢迎各位光临本博客,这里小编带你直接手撕质量相关系数,文章并不复杂,愿诸君耐其心性,忘却杂尘,道有所长!!!! **🔥个人主页:IF’…

Java代码审计实战:XML外部实体注入(XXE)深度解析

Java代码审计实战:XML外部实体注入(XXE)深度解析XML外部实体注入(XXE)是Web应用程序中一种常见但又常常被忽视的漏洞。它利用了XML解析器解析XML文档时,允许引用外部实体这个特性。如果解析器没有禁用外部实…

当服务器出现网卡故障时如何检测网卡硬件故障并解决?

当服务器出现网卡故障时,可能导致网络通信中断,从而影响业务的正常运行。以下是检测网卡硬件故障、诊断问题并解决的详细方法和步骤。1. 网卡故障的常见表现1.1 硬件故障的常见症状网络无法连接:服务器无法访问外部网络或用户无法连接到服务器…

从车辆中心到用户中心:E/E架构的变革与挑战

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

RPC内核细节(转载)

RPC内核细节(转载) 背景 随着数据量、并发量、业务复杂度的增长,服务化是架构演进必由之路。服务化离不开RPC框架。 RPC服务化的好处 服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦。 如下图…

SpringAMQP 的发布方确认

前言 这里的发布方确认是以 SpringAMQP 写的,之前我们在前面的篇章中就学过了 使用 Java 原生的SDK编写,当时是发布确认模式,在这里我们将用 Spring 集成的 rabbitmq 方法来编写 开启发布者确认机制需要进行下面的配置,以 yml 为例…

一套自用的git提交规范,可清晰的识别到关联的任务/bug

分享一套自用的git提交规范&#xff0c;可清晰的识别到关联的任务/bug 一、提交信息的基本结构 推荐使用约定式提交的一种变体&#xff0c;结构如下&#xff1a; <类型>(<范围>): <主题> [#<禅道-ID>]<正文>&#xff08;可选&#xff09;<脚注…

从音频到文本实现高精度离线语音识别

会议频繁&#xff0c;记录繁琐&#xff1f;语音转换成文字工具价格高昂&#xff0c;自己手动整理又耗时费力&#xff1f; 它支持本地离线运行&#xff0c;无需联网&#xff0c;所有数据留在本地&#xff0c;隐私安全毫无顾虑&#xff0c;同时它的功能是实时语音转文字&#xf…

SpringMVC 工作原理

SpringMVC 工作原理 SpringMVC 是 Spring 框架中用于构建 Web 应用的核心模块&#xff0c;其工作流程围绕 “前端控制器&#xff08;DispatcherServlet&#xff09;” 展开&#xff0c;通过组件间的协作完成请求处理与响应。理解其工作原理是掌握 SpringMVC 开发的关键&#xf…

HoRain云--Python机器学习神器:Sklearn全解析

&#x1f3ac; HoRain云小助手&#xff1a;个人主页 &#x1f525; 个人专栏: 《Linux 系列教程》《c语言教程》 ⛺️生活的理想&#xff0c;就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站&#xff0c;性价比超高&#xff0c;大内存超划算&#xff01;…

疯狂星期四文案网第64天运营日记

网站运营第64天&#xff0c;点击观站&#xff1a; 疯狂星期四 crazy-thursday.com 全网最全的疯狂星期四文案网站 运营报告 今日访问量 今日搜索引擎收录情况

设计一个 AB 测试平台

1. 需求明确化 功能需求实验管理 创建、编辑、删除、复制实验设置实验参数&#xff08;变体、权重、目标指标、时长等&#xff09;实验状态管理&#xff08;草稿、运行中、已结束&#xff09;用户分流与分配 支持多种分流策略&#xff08;随机分配、分层分配、定向分配&#xf…

HiCMAE 论文复现:基于 RAVDESS 数据集的音视频情感识别

HiCMAE 论文复现:基于 RAVDESS 数据集的音视频情感识别 1. 项目背景与论文概述 1.1 多模态情感识别背景 多模态情感识别是人工智能领域的重要研究方向,旨在通过结合多种感知模态(如音频、视频、文本等)来更准确地识别人类情感状态。与传统单模态方法相比,多模态方法能够…