当前位置: 首页 > 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服务器》步骤二。

http://www.lryc.cn/news/483529.html

相关文章:

  • 致敬苹果的国产手机,只会失去更多市场,iPhone一骑绝尘!
  • 《MYSQL45讲》kill不掉的线程
  • 单体架构 IM 系统之 Server 节点状态化分析
  • java xml 文本解析
  • Docker占用空间太大磁盘空间不足清理妙招
  • 编程之路,从0开始:字符函数和字符串函数
  • 化工防爆巡检机器人:在挑战中成长,为化工安全保驾护航
  • 音频采样数据格式
  • 【pytorch】常用强化学习算法实现(持续更新)
  • DAY59||并查集理论基础 |寻找存在的路径
  • Mybatis执行自定义SQL并使用PageHelper进行分页
  • OpenCV DNN
  • 什么时候需要复写hashcode()和compartTo方法
  • PostgreSQL 日志文件备份
  • 2023年MathorCup数学建模B题城市轨道交通列车时刻表优化问题解题全过程文档加程序
  • 数字农业产业链整体建设方案
  • awk那些事儿:在awk中使用shell变量的两种方式
  • 大数据面试题--kafka夺命连环问(后10问)
  • 智能量化交易的多样化策略与风险控制:中阳模型的应用与发展
  • 小皮PHP连接数据库提示could not find driver
  • 2024.11.13(一维数组相关)
  • 豆包MarsCode算法题:数组元素之和最小化
  • Hbase Shell
  • 激活函数解析:神经网络背后的“驱动力”
  • 【开源免费】基于SpringBoot+Vue.JS水果购物网站(JAVA毕业设计)
  • 推荐一款多物理场模拟仿真软件:STAR-CCM+
  • React Hooks在现代前端开发中的应用
  • 重学SpringBoot3-整合Quartz定时任务
  • STM32单片机WIFI语音识别智能衣柜除湿消毒照明
  • spring中entity的作用