实测运行容器化Tomcat服务器

news2024/11/14 9:35:16

文章目录

  • 前言
      • 一、拉取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.coloradmin.cn/o/2240081.html

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

相关文章

PHP图书绘本借阅管理系统小程序源码

📚 图书绘本借阅管理系统:打造孩子的阅读乐园 📚 🏷️ 引言:为什么我们需要图书绘本借阅管理系统? 在孩子的成长旅程中,阅读是不可或缺的一部分。然而,面对琳琅满目的图书和绘本&a…

炼码LintCode--数据库--基础语法--刷题笔记_01

目录 炼码LintCode数据库入门级别的笔记未完待续~~~ 炼码LintCode 数据库 入门级别的笔记 笔记如下,把所有涉及到的入门级别的知识点简单总结了一下。 以及一点点举一反三的写法。 增 INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);批量增 INSERT INT…

【含开题报告+文档+PPT+源码】基于SpringBoot和Vue框架的棋谱管理系统

开题报告 随着信息技术的飞速发展,尤其是互联网、大数据和人工智能等技术的进步,棋类运动在全球范围内得到了更广泛的推广和深入的研究。棋谱作为棋类运动的重要组成部分,是记录对弈过程、分析棋艺、传承棋道文化的关键载体。然而&#xff0…

three.js 杂记

clip: 1: 着色器 #ifdef USE_CLIP_DISTANCE vec4 worldPosition modelMatrix * vec4( position, 1.0 ); gl_ClipDistance[ 0 ] worldPosition.x - sin( time ) * ( 0.5 ); #endif gl_Position projectionMatrix * modelViewMatrix * vec4( positio…

并发基础:(淘宝笔试题)三个线程分别打印 A,B,C,要求这三个线程一起运行,打印 n 次,输出形如“ABCABCABC....”的字符串【举一反三】

🚀 博主介绍:大家好,我是无休居士!一枚任职于一线Top3互联网大厂的Java开发工程师! 🚀 🌟 在这里,你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人,我不仅热衷于探索一些框架源码和算法技巧奥秘,还乐于分享这些宝贵的知识和经验。 💡 无论你是刚刚踏…

C# 异步Task异常处理和堆栈追踪显示

Task的问题 在C#中异步Task是一个很方便的语法,经常用在处理异步,例如需要下载等待等方法中,不用函数跳转,代码阅读性大大提高,深受大家喜欢。 但是有时候发现我们的异步函数可能出现了报错,但是异常又没…

ssm102“魅力”繁峙宣传网站的设计与实现+vue(论文+源码)_kaic

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;“魅力”繁峙宣传网站系统当然也不能排除在外,随着网络技术的不断成熟,带动了“魅力”繁峙宣传网站系统的发展&#x…

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并--封装到存储过程中

MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并–封装到存储过程中 我们的最终目的是什么?当然的自动执行这些合并操作! 上一篇 MySQL技巧之跨服务器数据查询:基础篇-A数据库与B数据库查询合并 我们已经知道怎么合…

短视频新纪元:AI数字人重塑视频运营格局

步入2024年,AI数字人技术如同一股不可忽视的力量,正深刻影响着视频运营的每一个角落。据行业权威机构艾媒咨询的统计数据显示,2023年,数字人相关企业注册数量激增948家,增长率高达68%,这一数据直观反映了数…

Ajax 获取进度和中断请求

HTML加入一些内容方便看效果和做交互&#xff1a; <div><p>当前传输进度&#xff1a;<span id"progress">0%</span></p><button id"send">发送</button><button id"btn">中断</button> …

ctfshow-web入门-SSTI(web361-web368)上

目录 1、web361 2、web362 3、web363 4、web364 5、web365 6、web366 7、web367 8、web368 1、web361 测试一下存在 SSTI 注入 方法很多 &#xff08;1&#xff09;使用子类可以直接调用的函数来打 payload1&#xff1a; ?name{{.__class__.__base__.__subclasses__…

Python学习从0到1 day28 Python 高阶技巧 ⑤ 多线程

若事与愿违&#xff0c;请相信&#xff0c;上天自有安排&#xff0c;允许一切如其所是 —— 24.11.12 一、进程、线程 现代操作系统比如Mac OS X&#xff0c;UNIX&#xff0c;Linux&#xff0c;Windows等&#xff0c;都是支持“多任务”的操作系统。 进程 进程&#xff1a;就…

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战

目录 前言 一、原始的处理办法 1、使用Set方法来转换 2、使用构造方法转换 二、基于ModelMapper的动态转换 1、ModelMapper简介 2、集成到项目中 3、Shapefile属性读取 三、总结 前言 在现代软件开发中&#xff0c;尤其是在多层架构中&#xff0c;经常需要将数据从一个…

2024版本IDEA创建Sprintboot项目下载依赖缓慢

目录 步骤一&#xff1a;在IDEA中搜索Maven(双击shift) 步骤二&#xff1a;找到Maven下的settings.xml文件修改镜像 ​编辑 ​编辑​编辑 步骤三&#xff1a;用VScode打开settings.xml文件修改镜像 ​编辑 步骤一&#xff1a;在IDEA中搜索Maven(双击shift) 步骤二&#xff…

【初阶数据结构与算法】链表刷题之移除链表元素、反转链表、找中间节点、合并有序链表、链表的回文结构

文章目录 一、移除链表元素思路一思路二 二、合并两个有序链表思路&#xff1a;优化&#xff1a; 三、反转链表思路一思路二 四、链表的中间节点思路一思路二 五、综合应用之链表的回文结构思路一&#xff1a;思路二&#xff1a; 一、移除链表元素 题目链接&#xff1a;https:…

三维测量与建模笔记 - 特征提取与匹配 - 4.1 梯度信息提取

上面说的“可关联性”&#xff0c;举一个例子&#xff0c;比如我们拍摄一个凹凸不平的金属表面&#xff0c;在某个角度拍的时候&#xff0c;从图像中可以看到这些凹凸不平的地方&#xff0c;但是换个角度&#xff08;或者光照发生变化&#xff09;拍就看不到了。这样的特征点就…

显示微服务间feign调用的日志

第一步 package com.niuniu.common.config;import com.niuniu.common.CommonConstant; import com.niuniu.common.utils.UserContext; import feign.Logger; import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.…

读取文件内容、修改文件内容、识别文件夹目录(Web操作系统文件/文件夹详解)

前言 因 Unicode IDE 编辑器导入文件、文件夹需要&#xff0c;研究了下导入文件/文件夹的功能实现&#xff0c;发现目前相关文章有点少&#xff0c;故而记录下过程&#xff0c;如果有误&#xff0c;还望指正。(API的兼容性及相关属性、接口定义&#xff0c;请自行查看文件系统 …

「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序

本篇详细介绍在Mac系统上创建首个Cangjie项目并编写、运行第一个Cangjie程序的全过程。内容涵盖项目创建、代码编写、程序运行与调试&#xff0c;以及代码修改后的重新运行。通过本篇&#xff0c;掌握Cangjie项目的基本操作&#xff0c;进一步巩固开发环境的配置&#xff0c;迈…

微信小程序_小程序视图与逻辑_day3

一、目标 A. 能够知道如何实现页面之间的导航跳转 B. 能够知道如何实现下拉刷新效果 C. 能够知道如何实现上拉加载更多效果 D. 能够知道小程序中常用的生命周期 二、目录 A. 页面导航 B. 页面事件 C. 生命周期 D. WXS脚本 E. 案例-本地生活&#xff08;列表页面&#xff09;…