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

news2024/11/26 13:57:37

目录

  • 前言
  • 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 变得轻松且可控,让您专注于应用程序的开发和管理。通过这个指南,您可以轻松开始并根据需要进行自定义配置。

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

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

相关文章

2.前端--HTML标签基本概念【2023.11.25】

1.基本语法规范 HTML 标签是由尖括号包围的关键词&#xff0c;例如 <html>。HTML 标签通常是成对出现的&#xff0c;例如 和 &#xff0c;我们称为双标签。有些特殊的标签必须是单个标签&#xff08;极少情况&#xff09;&#xff0c;例如 <br />我们称为单标签。 …

【挑战业余一周拿证】一、亚马逊云科技简介 - 第 3 节 - 云计算

第 3 节 - 云计算 在深入了解亚马逊云科技的各个部分之前&#xff0c;让我们先缩小视野&#xff0c;对云进行一个合理的定义。云计算就是通过互联网按需提供 IT 资源并采用按需付费定价模式&#xff0c;下面&#xff0c;我们将进行详细说明。 按需提供表示的是亚马逊云科技会在…

2024年最新最全的Jmeter接口测试必会技能:jmeter_HTTP Cookie管理器

HTTP Cookie管理器 HTTP Cookie管理器可以像浏览器一样自动存储和发送cookie&#xff0c;以这种自 动收集的方式收集到的cookie不会在cookie manager中进行展示&#xff0c;但是运行后&#xff0c; 可以通过 查看结果树&#xff08;监听器&#xff09;可以查看到cookie信息 除…

RandomAccessFile学习笔记

文章目录 RandomAccessFile学习笔记前言1、RandomAccessFile基本介绍1.1 RandomAccessFile相关基本概念1.2 RandomAccessFile家族体系 2、RandomAccessFile基本使用2.1 RandomAccessFile常用API介绍2.2 RandomAccessFile常用API演示2.3 RandomAccessFile实现断点续传 1、Random…

Centos Bind安装与排错

1.配置Centos系统静态IP vi/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTOstaticIPADDR192.168.1.100NETMASK255.255.255.0GATEWAY192.168.1.1DNS18.8.8.8:wqsudo systemctl restart network.service 2.安装BIND&#xff08;需要服务器连接互联网&#xff0c;如果服务…

C/C++内存管理,malloc,realloc,calloc,new,delete详解!!!

1.初步了解内存中各个区间存储的数据特征 1.栈区&#xff1a;存储一些局部变量、函数参数、返回值等&#xff0c;跟函数栈振有关&#xff0c;出了作用域&#xff0c;生命周期结束。 2.堆区&#xff1a;用于动态开辟空间&#xff0c;如果不主动销毁空间&#xff0c;则程序运行结…

保护模式进阶

本系列文章只做个人学习记录使用 参考资料&#xff1a; 《操作系统真象还原》 从0到-1写一个操作系统 获取物理内存容量 计算机要想被使用&#xff0c;就必须先管理&#xff0c;我们想和物理内存打交道&#xff0c;就必须先知道物理内存有多大 linux获取内存的方法 在linux…

计算机组成原理4

1.汇编语言 2.汇编语言常见的运算指令 3.AT&T格式 和 Intel格式 4.跳转指令 5.cmp比较的底层原理 6.函数调用的机器级表示 7.CISC和RISC

公司人事管理系统

1.问题描述 一个小公司包含四类人员&#xff1a;经理&#xff0c;技术人员&#xff0c;销售人员和销售经理&#xff0c;各类人员的工资计算方法如下&#xff1a;经理&#xff1a;固定月薪&#xff08;8000&#xff09;&#xff1b;技术人员&#xff1a;月薪按技术等级&#xf…

【深度学习笔记】05 线性回归

线性回归 线性回归基于几个简单的假设&#xff1a; 首先&#xff0c;假设自变量 x \mathbf{x} x和因变量 y y y之间的关系是线性的&#xff0c; 即 y y y可以表示为 x \mathbf{x} x中元素的加权和&#xff0c;这里通常允许包含观测值的一些噪声&#xff1b; 其次&#xff0c;我…

Spring Cloud Gateway 的简单介绍和基本使用

前言 本文主要对Spring Cloud Gateway进行简单的概念介绍&#xff0c;并通过多模块编程的方式进行一个简单的实操。 文章目录 前言1 什么是网关&#xff08;概念&#xff09;2 微服务中的网关2.1 问题12.2 问题2 3 网关作用4 Spring Cloud Gateway组成5 Spring Cloud Gateway基…

51代码审计-PHP框架MVC类上传断点调试

知识点1&#xff0c;文件上传漏洞挖掘 搜索关键字$_FILES phpmvc架构 MVC模式&#xff08;Model-View-Controller&#xff09;是软件工程中的一种软件架构模式。 MVC把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#…

5.前端--CSS-基本概念【2023.11.26】

1. CSS 语法规范 CSS 规则由两个主要的部分构成&#xff1a;选择器以及一条或多条声明。 属性和属性值之间用英文“:”分开 多个“键值对”之间用英文“;”进行区分 选择器 : 简单来说&#xff0c;就是选择标签用的。 声明 &#xff1a;就是改变样式 2.CSS引入方式 按照 CSS 样…

【C++】多线程(一):std::thread的使用

这篇文章应我朋友的邀请&#xff0c;写一篇文章介绍下C多线程。 编译环境准备 首先确定你的编译器支持std的thread&#xff0c;如果不支持&#xff0c;就会出现诸如“thread找不到”的问题。 以下假设你使用 gnu gcc 编译器&#xff0c;因为 MSVC 的我也不太熟悉。 linux …

【详解二叉树】

&#x1f320;作者&#xff1a;TheMythWS. &#x1f387;座右铭&#xff1a;不走心的努力都是在敷衍自己&#xff0c;让自己所做的选择&#xff0c;熠熠发光。 目录 树形结构 概念 树的示意图 树的基本术语 树的表示 树的应用 二叉树(重点) 二叉树的定义 二叉树的五…

实战oj题——用队列实现栈

前言&#xff1a;Leetcode栈和队列的习题&#xff0c;用两个队列实现栈。 【由于我们是用C语言完成这道题&#xff0c;所以我们要将关于队列的实现代码插入到题中&#xff0c;在创建一个栈&#xff0c;栈里包含两个队列。】 思路&#xff1a;我们用两个队列来实现&#xff0c;因…

java学习part12多态

99-面向对象(进阶)-面向对象的特征三&#xff1a;多态性_哔哩哔哩_bilibili 1.多态&#xff08;仅限方法&#xff09; 父类引用指向子类对象。 调用重写的方法&#xff0c;就会执行子类重写的方法。 编译看引用表面类型&#xff0c;执行看实际变量类型。 2.父子同名属性是否…

FPGA驱动CS4344 VHDL例程

CS4344是一款非常简单的I2S立体声24bit D/A芯片&#xff0c;采样率高达192KHz&#xff0c;相对于ADAU1761复杂的寄存器配置来说&#xff0c;CS4344非常友好&#xff0c;无需配置寄存器&#xff0c;只要按I2S时序输入数据&#xff0c;即可实现立体声输出&#xff0c;且10PIN TSS…

Effective Modern C++(1.顶层const与底层const)

1.顶层const与底层const的定义 const修饰的变量不可以改变&#xff0c;那么他就是顶层const&#xff0c;如&#xff1a; const int a 10; 那么&#xff0c;对于 const int *const p new int(10); 第二个const就是顶层const&#xff0c;因为他修饰的是p&#xff1b;第一个…

Windows TCP 通信测试_1

一、单对单通信测试 应用函数 socket、bind、connect、listen、accept、recv、send&#xff08;win下的函数&#xff09;等 1、客户端demo client.cpp #include<WINSOCK2.H> #include<STDIO.H> #include<iostream> #include<cstring> using namespa…