当前位置: 首页 > news >正文

实测运行容器化Tomcat服务器

文章目录

  • 前言
      • 一、拉取Tomcat 9.0镜像
      • 二、运行容器化Tomcat服务器
      • 三、访问Tomcat官网首页测试
  • 总结


前言

`运行容器化Tomcat服务器,首先确保正确安装docker,并且已启动运行,具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配置与测试实例》。本次实测环境如下:
1、宿主机win10,谷歌浏览器,IP地址为192.168.157.1
2、VMware Workstation pro17
3、安装1个虚拟机OpenEuler 24.03,IP地址为192.168.157.128
4、xshell7
具体实验思路如下:
虚拟机OpenEuler 24.03中安装docker,OpenEuler在这里成为docker的宿主机, 使用docker命令拉取Tomcat9.0镜像,设置容器与宿主机的端口映射,运行容器化Tomcat,进入容器内部,通过修改容器内Tomcat的配置文件,实现在Win10浏览器中能够访问Tomcat服务器,显示Tomcat官网效果。示意图如下:
在这里插入图片描述

一、拉取Tomcat 9.0镜像

使用Docker命令拉取Tomcat 9.0镜像:

docker pull tomcat:9.0

拉取Tomcat 9.0镜像成功,如图所示:
在这里插入图片描述

二、运行容器化Tomcat服务器

运行Tomcat服务的命令行如下:

docker run -d --name tomcat001 -p 8081:8080 tomcat:9.0

在Docker中,docker run 命令用于创建一个新的容器并运行一个命令。下面是对命令参数进行逐一说明:

  • docker run:这是Docker命令,用于运行一个新的容器。

  • -d:这个选项告诉Docker在后台运行容器,即以“分离模式”运行。

  • --name tomcat001:这个选项为容器指定一个名称,这里是tomcat001。如果不指定,Docker会自动生成一个名称。

  • -p 8081:8080:这个选项用于端口映射。8081:8080表示将容器内部的8080端口映射到宿主机的8081端口。这样,您可以通过访问宿主机的8081端口来访问容器中的Tomcat服务。

  • tomcat:9.0:这是要运行的Docker镜像的名称和标签。这里指定的是tomcat镜像的9.0版本。

综上所述,这条命令的作用是在后台启动一个名为tomcat001的容器,使用tomcat:9.0镜像,并设置端口映射,使得宿主机的8081端口对应容器的8080端口。这样,您可以通过访问宿主机的8081端口来访问Tomcat服务。
执行完成命令,通过docker ps查看容器目录挂载情况,如图所示:
在这里插入图片描述

三、访问Tomcat官网首页测试

在win10中的浏览器中访问`http://192.168.157.128:8081,检查Tomcat9.0是否正常工作。结果如图所示:
在这里插入图片描述
上图说明,Tomcat9.0配置出现问题,进入tomcat001容器,查看Tomcat配置情况:

docker exec -it tomcat001 /bin/bash

下面是对Docker命令的注释说明:

  • docker exec:这是Docker命令,用于在已经运行的容器中执行命令。

  • -it:这是两个选项的组合。

    • -i:保持容器的标准输入(STDIN)打开,即使不附加到容器终端。
    • -t:分配一个伪终端(pseudo-TTY),使得您可以像使用终端一样与容器内的进程交互。
  • tomcat001:这是您想要执行命令的容器的名称。在这个例子中,您想要在名为tomcat001的容器中执行命令。

  • /bin/bash:这是您想要在容器内部执行的命令。/bin/bash是大多数Linux系统的默认shell,这个命令会启动一个bash会话,允许您在容器内部执行命令。

这条命令的作用是启动一个交互式的bash会话,连接到名为tomcat001的容器中。直接在容器的命令行界面中执行命令,就像您直接在物理机或虚拟机上操作一样。
进入Tomcat配置目录/usr/local/tomcat/webapps查看:

root@b77e9a1f7e54:/usr/local/tomcat/webapps# ls

发现该目录下要为空目录,需要拷贝/usr/local/tomcat/webapps.dist目录下文件及子目录至/usr/local/tomcat/webapps下:

cp -r webapps.dist/* webapps

注意:
cp命令需要用到-r参数,因为webappa.dist目录下不但有文件,还有子目录,因此使用-r参数,递归拷贝所有的文件及子目录。
再次在win10中的浏览器中访问`http://192.168.157.128:8081,结果如图所示:
在这里插入图片描述
说明成功访问到Tomcat官网首页,至此,Docker下安装Tomcat已完成。

总结

以上内容为Docker容器化Tomcat运行的全部流程,如果需要测试一个具体web项目,还要完成宿主机与Docker容器的目录挂载,发布一个web应用,具体实现步骤可参阅笔者的《实测运行容器化Nginx服务器》步骤二。

相关文章:

实测运行容器化Tomcat服务器

文章目录 前言一、拉取Tomcat 9.0镜像二、运行容器化Tomcat服务器三、访问Tomcat官网首页测试 总结 前言 运行容器化Tomcat服务器,首先确保正确安装docker,并且已启动运行,具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配…...

致敬苹果的国产手机,只会失去更多市场,iPhone一骑绝尘!

近期诸多国产手机品牌纷纷发布旗舰手机,随着这些旗舰手机的发布,可以看出他们在进一步致敬苹果--实质就是模仿苹果的设计,如此做的结果恐怕是得不偿失,将导致国产手机损失更多市场。 致敬苹果最为直接的当属手机外壳了&#xff0c…...

《MYSQL45讲》kill不掉的线程

kill query 线程id :终止这个线程正在执行的语句 kill connection 线程id :关闭这个线程的连接,也会先停止这个线程正在执行的语句。这个connection可以缺省。 本文讨论的情况是:使用了kill命令,却没有断开连接,show processli…...

单体架构 IM 系统之 Server 节点状态化分析

基于 http 短轮询模式的单体架构的 IM 系统见下图,即客户端通过 http 周期性地轮询访问 server 实现消息的即时通讯,也就是我们前面提到的 “信箱模型”。“信箱模型” 虽然实现非常容易,但是消息的实时性不高。 我们在上一篇文章&#xff08…...

java xml 文本解析

示例文本 <Message><MessageName>time_request</MessageName><Timestamp>20220217165432906359</Timestamp><Body><EQPID>CMMAB01-DTP01</EQPID></Body> </Message>示例代码 import org.w3c.dom.Document; impo…...

Docker占用空间太大磁盘空间不足清理妙招

docker占用空间太大了&#xff0c;磁盘空间不足&#xff0c;清理3妙招 清除所有已停止的容器&#xff08;container&#xff09;、未被任何容器所使用的卷&#xff08;volume&#xff09;、未被任何容器所关联的网络&#xff08;network&#xff09;、所有悬空镜像&#xff08…...

编程之路,从0开始:字符函数和字符串函数

Hello大家好&#xff01;很高兴我们又见面了&#xff01; 给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 目录 1、字符分类函数 2、字符转换函数 3、字符串函数 1、 strcpy 2、 strcat 3、 strcmp 4、strlen(s) 5、strstr(s1, s2) 6、 strtok(s1, s2…...

化工防爆巡检机器人:在挑战中成长,为化工安全保驾护航

随着全球能源需求的不断攀升&#xff0c;化工行业的安全性与高效性愈发受到关注。化工设施规模巨大&#xff0c;而且其中多数存在高风险因素&#xff0c;像是易燃易爆化学物质、高温环境、有毒有害物质以及高压设备等。仅2023年&#xff0c;国内危化品事故就多达652起&#xff…...

音频采样数据格式

音频信号在模拟到数字转换时&#xff0c;会涉及到多个关键参数&#xff0c;如采样率、位深度、通道数等。下面是常见的音频采样数据格式及其相关概念&#xff1a; 1. 采样率 (Sample Rate) 采样率指的是每秒钟对音频信号进行采样的次数&#xff0c;单位为赫兹 (Hz)。常见的值…...

【pytorch】常用强化学习算法实现(持续更新)

持续更新常用的强化学习算法&#xff0c;采用单python文件实现&#xff0c;简单易读 2024.11.09 更新&#xff1a;PPO(GAE); SAC2024.11.12 更新&#xff1a;OptionCritic(PPOC) "PPO" import copy import time import torch import numpy as np import torch.nn as …...

DAY59||并查集理论基础 |寻找存在的路径

并查集理论基础 并查集主要有两个功能&#xff1a; 将两个元素添加到一个集合中。判断两个元素在不在同一个集合 代码模板 int n 1005; // n根据题目中节点数量而定&#xff0c;一般比节点数量大一点就好 vector<int> father vector<int> (n, 0); // C里的一…...

Mybatis执行自定义SQL并使用PageHelper进行分页

Mybatis执行自定义SQL并使用PageHelper进行分页 基于Mybatis&#xff0c;让程序可以执行动态传入的SQL&#xff0c;而不需要在xml或者Select语句中定义。 代码示例 pom.xml 依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId&g…...

OpenCV DNN

OpenCV DNN 和 PyTorch 都是常用的深度学习框架&#xff0c;但它们的定位、使用场景和功能有所不同。让我们来对比一下这两个工具&#xff1a; 1. 框架和功能 OpenCV DNN&#xff1a;OpenCV DNN 模块主要用于加载和运行已经训练好的深度学习模型&#xff0c;支持多种深度学习…...

什么时候需要复写hashcode()和compartTo方法

在Java编程中&#xff0c;复写&#xff08;重写&#xff09;hashCode()和compareTo()方法的需求通常与对象的比较逻辑和哈希集合的使用紧密相关。但请注意&#xff0c;您提到的compartTo可能是一个拼写错误&#xff0c;正确的方法名是compareTo()。以下是关于何时需要复写这两个…...

PostgreSQL 日志文件备份

随着信息安全的建设&#xff0c;在三级等保要求中&#xff0c;要求日志至少保留半年 180 天以上。那么 PostgreSQL 如何实现这一要求呢。 我们需要配置一个定时任务&#xff0c;定时的将数据库日志 log 下的文件按照生成的规则将超过一定时间的日志拷贝到其它的路径下&#xf…...

2023年MathorCup数学建模B题城市轨道交通列车时刻表优化问题解题全过程文档加程序

2023年第十三届MathorCup高校数学建模挑战赛 B题 城市轨道交通列车时刻表优化问题 原题再现&#xff1a; 列车时刻表优化问题是轨道交通领域行车组织方式的经典问题之一。列车时刻表规定了列车在每个车站的到达和出发&#xff08;或通过&#xff09;时刻&#xff0c;其在实际…...

数字农业产业链整体建设方案

1. 引言 数字农业产业链整体建设方案旨在通过数字化手段提升农业产业效率与质量&#xff0c;推动农业现代化进程。方案聚焦于资源数字化、产业数字化、全局可视化与决策智能化的实现&#xff0c;构建农业产业互联网平台&#xff0c;促进农业全流程、全产业链线上一体化发展。 …...

awk那些事儿:在awk中使用shell变量的两种方式

awk是Linux中一款非常好用的程序&#xff0c;可以逐行处理文件&#xff0c;并提供了强大的语法和函数&#xff0c;和grep、sed一起被称为“Linux三剑客”。 在使用awk处理文件时&#xff0c;有时会用到shell中定义的变量&#xff0c;由于在shell中变量的调用方式是通过$符号进…...

大数据面试题--kafka夺命连环问(后10问)

目录 16、kafka是如何做到高效读写&#xff1f; 17、Kafka集群中数据的存储是按照什么方式存储的&#xff1f; 18、kafka中是如何快速定位到一个offset的。 19、简述kafka中的数据清理策略。 20、消费者组和分区数之间的关系是怎样的&#xff1f; 21、kafka如何知道哪个消…...

智能量化交易的多样化策略与风险控制:中阳模型的应用与发展

随着金融市场的不断创新与发展&#xff0c;智能量化交易正逐渐成为金融投资的重要手段。中阳智能量化交易模型通过技术优势、策略优化与实时风险控制等多方面结合&#xff0c;为投资者提供了强有力的工具支持。本文将对中阳量化模型的技术细节、多策略组合与市场适应性进行深入…...

AI赋能·精准适配——API风险监测系统筑牢教育数据流转安全防线

一、概要提示&#xff1a;本文围绕数据流转安全与静态数据安全的核心差异&#xff0c;结合教育行业数字化转型特性&#xff0c;系统阐述API风险监测系统的核心逻辑、核心能力、常见疑问及发展趋势&#xff0c;全面呈现系统在教育场景中的数据化应用成效&#xff0c;凸显“AI赋能…...

紧急提醒!项目管理人员不要乱签字,否则真会坐牢!

在工程项目里&#xff0c;人证不合一早已不是新鲜事&#xff0c;项目经理、安全员、资料员之间“代签”几乎成了一种心照不宣的默契。忙起来的时候&#xff0c;一张签到表、一份验收单传过来&#xff0c;顺手帮不在场的同事填上名字&#xff0c;很多人觉得这不过是抬抬手的事&a…...

边缘AI加速:CGRA架构与近似计算技术解析

1. 项目概述在边缘计算和人工智能快速发展的今天&#xff0c;如何设计高能效的硬件架构来支持复杂的神经网络推理任务&#xff0c;成为了一个关键挑战。传统的ASIC方案虽然性能优异&#xff0c;但缺乏灵活性&#xff1b;而通用处理器又难以满足能效要求。粗粒度可重构架构(CGRA…...

ISTA 3B-2013 全解析|零担货物 (LTL) 综合模拟运输测试标准(CSDN 完整版)前言

前言 ISTA 3B-2013 是 ISTA 3 系列高级综合模拟测试&#xff0c;专门针对零担货物运输&#xff08;LTL&#xff09; 的包装件。 零担运输的特点是多货混装、多次中转、人工 / 叉车交叉搬运、环境复杂&#xff0c;因此 3B 是工业、设备、家电、汽配、大型包装最贴近真实物流的测…...

别再走弯路!2026亲测靠谱的AI论文写作工具|安心版

2026 年学术写作工具已高度分化&#xff0c;千笔AI与ThouPen为全流程首选&#xff0c;豆包、DeepSeek 为专项强手&#xff1b;避坑关键&#xff1a;拒绝假文献、严控 AIGC 率、优先国内适配、免费试用先行。 一、TOP3 全流程首选&#xff08;亲测不踩雷&#xff09; 1. 千笔AI&…...

【Sora 2批量视频生成黄金工作流】:实测吞吐提升4.8倍的关键配置——NVIDIA A100集群下每小时稳定输出217段1080p视频

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Sora 2批量视频生成工作流全景概览 Sora 2作为新一代多模态视频生成模型&#xff0c;其批量处理能力依托于模块化、可编排的端到端工作流设计。该工作流融合提示工程、时空 latent 编码、分块并行解码与后处理…...

技术人的黄金十年:软件测试从业者25到35岁每一年该怎么规划?

对于每一位进入软件行业的技术人而言&#xff0c;25岁到35岁这十年几乎决定了整个职业生涯的上限&#xff0c;而软件测试作为产品质量的最后一道防线&#xff0c;这个岗位的能力积累、职业路径选择&#xff0c;更需要在这黄金十年里做好清晰的规划。不同于开发岗的技术迭代焦虑…...

NotebookLM风格崩塌的7个隐性信号:从语义漂移到角色失焦,一文诊断并修复

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM风格崩塌的诊断元框架 当NotebookLM在真实知识工作流中表现出响应失焦、引用漂移、上下文断裂或语义坍缩等现象时&#xff0c;“风格崩塌”并非界面缺陷&#xff0c;而是底层多模态对齐机制失…...

PddConsumptionModel.java

package pdd;import java.util.ArrayList; import java.util.List; import java.util.Random;/*** 某多多的商业模式&#xff0c;砍价格算法模拟下哈* * * author ZengWenFeng* email 117791303QQ.com* mobile 13805029595* date 2023.11.17*/ public class PddConsumptionMode…...

昇腾CANN ops-blas:GEMM 在 NPU 上为什么可以快到极致

矩阵乘是所有深度学习计算的根。Attention、全连接、卷积展开——归根到底都是矩阵乘。ops-blas 是 CANN 里专门做高性能 GEMM&#xff08;General Matrix Multiply&#xff09;的算子库&#xff0c;核心目标是把昇腾 NPU 的 Cube 单元利用率拉到 90% 以上。 ops-blas 和 ops-n…...