一起学docker系列之十docker安装tomcat实践

目录

  • 前言
  • 1 安装tomcat的步骤
    • 步骤 1: 查找并拉取 Tomcat 镜像
    • 步骤 2: 运行 Tomcat 容器
    • 步骤 3: 管理 Tomcat 容器
    • 步骤 4: 访问 Tomcat 首页
  • 2 解决访问首页的404访问不到的问题
    • 2.1 Tomcat 10 的默认设置问题
    • 2.2 端口映射或防火墙问题
  • 3 推荐使用 Tomcat 8.5 版本
      • 总结

前言

当安装 Tomcat 时使用 Docker 是一种便捷的方式。这种方法允许用户轻松地创建、运行和管理 Tomcat 容器,而无需在本地系统上安装和配置 Tomcat。下面是如何详细安装 Tomcat 使用 Docker 的步骤及解释。
在这里插入图片描述

1 安装tomcat的步骤

步骤 1: 查找并拉取 Tomcat 镜像

首先,在 Docker Hub 上搜索适合您需求的 Tomcat 镜像。例如,您可能想选择特定版本的 Tomcat。使用以下命令来搜索并拉取 Tomcat 镜像:

docker search tomcat
docker pull tomcat:{version}

步骤 2: 运行 Tomcat 容器

使用以下命令在容器中运行 Tomcat:

docker run -d -p 8080:8080 --name my_tomcat tomcat:{version}

解释:

  • -d:以后台模式运行容器。
  • -p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
  • --name my_tomcat:为容器指定一个名称。
  • tomcat:{version}:选择的 Tomcat 镜像及版本。

步骤 3: 管理 Tomcat 容器

使用以下命令查看正在运行的容器:

docker ps

如果需要进入容器的命令行界面,可以使用以下命令:

docker exec -it my_tomcat /bin/bash

步骤 4: 访问 Tomcat 首页

在浏览器中输入 localhost:8080 来访问 Tomcat 的首页。

2 解决访问首页的404访问不到的问题

2.1 Tomcat 10 的默认设置问题

有时候,在访问 Tomcat 10 的首页时可能会遇到 404 错误。可以通过以下步骤解决:
在这里插入图片描述

  1. 进入 Tomcat 容器的 bash:

    docker exec -it my_tomcat /bin/bash
    
  2. 删除默认的 webapps 目录并将 webapps.dist 重命名为 webapps

    rm -rf webapps
    mv webapps.dist webapps
    

2.2 端口映射或防火墙问题

确保端口映射正确,主机防火墙没有阻止对 Tomcat 的访问。

3 推荐使用 Tomcat 8.5 版本

您可以选择使用 Tomcat 8.5 版本。拉取并运行 Tomcat 8.5 的方法如下:

docker pull billygoo/tomcat8-jdk8
docker run -d -p 8080:8080 --name my_tomcat8 billygoo/tomcat8-jdk8

使用容器数据卷运行 Tomcat 8

对于 Tomcat 8,可以使用容器数据卷来确保数据持久化。使用 -v 参数来指定数据卷的挂载路径。

docker run -d -p 8080:8080 --name my_tomcat8 -v /host/path:/container/path billygoo/tomcat8-jdk8

在上述命令中,/host/path 是宿主机上的路径,/container/path 是容器中 Tomcat 数据的路径。

总结

使用 Docker 安装和管理 Tomcat 可以简化配置和部署流程。这个过程使得在容器中运行 Tomcat 变得轻松且可控,让您专注于应用程序的开发和管理。通过这个指南,您可以轻松开始并根据需要进行自定义配置。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

玉渊谭天对电影色彩分析的“蚊香图”复现-python

视频教程链接:https://www.bilibili.com/video/BV1Lu4y1t7FG/ 最终的实现效果如下: 前几天刷抖音刷到了玉渊谭天对于电影抽取画面制作“蚊香图”,相关视频片段如下。 这种制作”蚊香图“的特效当时有点触动到到我,根据色彩来分…

【服务器能干什么】搭建一个短网址平台,可以查看数据详情!

昨天在 YouTube 上看到又一个搭建自己短网址的视频教程,用的是开源的 polr,但是按照步骤一步步搭建下来,最后一步都会出现 顺哥轻创 PLAINTEXT Whoops, looks like something went wrong百度、谷歌查了一圈也没找到有效的解决方法。&#x…

qt pdf 模块简介

文章目录 1. 技术平台2. Qt pdf 模块3. cmake 使用模块4. 许可证5. 简单示例5.1 CMakeLists.txt5.2 main.cpp 6. 总结 1. 技术平台 项目说明OSwin10 x64Qt6.6compilermsvc2022构建工具cmake 2. Qt pdf 模块 Qt PDF模块包含用于呈现PDF文档的类和函数。 QPdfDocument 类加载P…

浏览器中实现可视化的方式有哪几种?带你盘点一下

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 可视化的含义 浏览器中实现可视化的4种方式 1. HTMLCSS 2. SVG …

Java小游戏 王者荣耀

GameFrame类 所需图片: package 王者荣耀;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.util.ArrayLis…

霍夫丁不等式(Hoeffding‘s inequality)

参考资料:Hoeffdings inequality | encyclopedia article by TheFreeDictionary 霍夫丁不等式(Hoeffdings inequality)描述了随机变量的和、与和的期望之差的上限;或者表述为:随机变量的均值、与均值的期望之差的上限。…

Node.js与npm的准备与操作

1.下载 Node.js官网:Node.jsNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/en 打开后的界面如下: LTS(Long Term Support):长期支持版,稳定版 Current&am…

IDEA出现cannot download sources解决方案

IDEA出现cannot download sources解决方案 问题描述 当我想看第三方库的源码的注释时需要下载源码。 点击Dodnload Sources后可能会出现cannot download sources的问题。 解决方案 这时我们只需在根目录下打开Terminal后执行下面一行代码 mvn dependency:resolve -Dclassi…

【element优化经验】el-dialog修改title样式

目录 前言 解决之路 1.把默认的这个图标隐藏,官方的api有这个属性:showClose值设置false. 2.title插槽定制:左边定制标题,右边定制按钮区域。 3.背景颜色修改:默认title是有padding的需要把它重写调,然…

QQ录屏保存到哪了?教你快速找到保存位置

qq录屏是许多用户常用的屏幕录制工具,可是一旦录制结束,许多人不清楚如何找到和管理录制的视频文件。那么,您知道qq录屏保存到哪了吗?本文将深入研究qq录制视频功能,以帮助您了解如何存储和管理这些重要的录制视频文件…

网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)

网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记) SeleniumWebDriver 对象提供的相关方法定位元素ActionChains的基本使用selenium显示等待和隐式等待显示等待隐式等待 Scrapy(异步网络爬虫框架)Sc…

AIGC|LangChain新手入门指南,5分钟速读版!

如果你用大语言模型来构建AI应用,那你一定不可能绕过LangChain,LangChain是现在最热门的AI应用框架之一,去年年底才刚刚发布,它在github上已经有了4.6万颗星的点赞了,在github社区上,每天都有众多大佬,用它…

数据结构 | 堆排序

数据结构 | 堆排序 文章目录 数据结构 | 堆排序建立大堆排序结果以及全部代码 如果没有看过堆的实现的话可以先看前面的一章堆的实现,然后再来看这个堆排序,都是比较简单的~~ 这里堆排序首先建堆,建堆是要建小堆还是大堆呢? 在堆排…

HT97226 免输出电容立体声耳机放大器的应用与曲线

HT97226应用: ・耳机 ・多媒体音频接口 ・机顶盒 ・ 蓝光/DVD播放器 ・LCD电视 ・音频消费电子产品 HT97226应用图于曲线: HT97226是一款差分输入/单端输入、可直接输出驱动的耳机放大器。5V供…

在vue页面中添加组件到底有多方便

修改vue写的前端页面到底有多方便?如果熟练的话,出乎你想象的快。 原来的页面:/admin/stock 原来的文件地址:src\views\admin\stock\Stock.vue 另一个页面有个入库功能,需要转移到上面的页面中: 路径&…

MindStudio学习记录三:推理应用开发 acl mindx sdk

1.推理应用流程 1.1.创建工程 1.2.模型转换 1.3代码开发 1.3.1ACL代码 1.3.2MindX SDK开发 可视化模块化设计 中间的图片与处理 是基于AIPP的可视化处理 1.5.编译 交叉编译 1.6.运行与调试 1.7 调优工具 profiling性能分析 2.开发举例 resnet-50 2.1 准备工程 2.2.准备模型…

C#-基础及扩展合集(持续更新)

一、基础 Ⅰ 关键字 1、record record(记录),编译器会在后台创建一个类。支持类似于结构的值定义,但被实现为一个类,方便创建不可变类型,成员在初始化后不能再被改变 (C#9新增) …

MT6893_天玑 1200芯片规格参数介绍_datasheet规格书

天玑 1200(MT6893)是一款专为旗舰级全新5G芯片,它融合了先进的AI、相机和多媒体技术,为用户带来令人惊叹的体验。采用先进的6纳米制程设计,内置各种先进技术。该芯片采用旗舰级的八核CPU架构设计,支持16GB强大的四通道内存以及双通…

西门子PLC与组态王无线通讯中如何设置从站

本方案主要详述了在多台西门子300PLC与组态王之间Modbus无线通讯中如何设置从站。方案中所用到的无线通讯终端是DTD434MC——欧美系PLC专用无线通讯终端。 一、方案概述 无线Modbus网络组成如下: 二、测试背景 ● PC端组态软件版本:组态王6.55 ● 默…

CRM的智能招投标对企业有什么意义?

如今CRM系统的生态系统越来越壮大,这些工具的集成极大地丰富了CRM系统的应用场景,例如CRM系统集成企业微信等社交媒体为获客提供便利;再比如CRM集成ChatGPT提高邮件内容质量,对于经常接触招投标项目的业务人员来说,在C…