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

Docker创建tomcat容器实例后无法访问(HTTP状态 404 - 未找到)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

Docker创建tomcat容器实例后无法访问

  • 一、场景重现
    • 1. docker拉取tomcat镜像
    • 2. 查看拉取的镜像
    • 3. 运行镜生成容器并运行,同时像映射端口
    • 4. 查看本机ip
    • 5. 访问tomcat在本机的映射地址
  • 二、分析
    • 1. 进入tomcat容器
    • 2. 查看当前目录
    • 3. 查看webapps目录内容
  • 三、思路
    • 1. 修改weapps
    • 2. 使用旧版tomcat
  • 四、解决
    • 方案一
      • 1. 删除webapps目录
      • 2. 修改webapps.dist为webapps
      • 3. 再次访问
    • 方案二
      • 1. 搜索镜像
      • 2. 拉取tomcat9镜像
      • 3. 查看镜像
      • 4. 运行镜像生成容器实例
      • 5. 查看已运行的容器
      • 6. 访问网址


一、场景重现

1. docker拉取tomcat镜像

docker pull tomcat

在这里插入图片描述
不指定版本默认拉取的最新的latest版本

2. 查看拉取的镜像

docker images

在这里插入图片描述

3. 运行镜生成容器并运行,同时像映射端口

docker run --name tomcat-libai -it -p 9999:8080 -d tomcat

查看运行的容器

docker ps

在这里插入图片描述
看到容器正在运行,且端口映射为9999

4. 查看本机ip

ifconfig

在这里插入图片描述
如果没安装net-tools会提示安装

sudo apt install net-tools

5. 访问tomcat在本机的映射地址

172.20.10.13:9999

访问时页面是404
在这里插入图片描述

二、分析

首先我们拉取镜像的时候没有指定版本,默认为最新的版本tomcat:latest
那么这个版本有什么特别的地方呢
我们都知道tomcat访问界面的index.jsp文件是在webapps目录下的
我们进入容器,查看一下tomcat目录下的webapps文件夹下有什么东西

1. 进入tomcat容器

docker exec -it tomcat-libai /bin/bash

2. 查看当前目录

看到webapps以及webapps.dist两个目录

ls -l

在这里插入图片描述

3. 查看webapps目录内容

//进入webapps目录,
cd webapps
//查看webapps目录内容
ls -l

在这里插入图片描述
发现webapps中是空的,这也就是为什么我们访问时界面404的原因
最新版的tomcat的webapps目录内容为空,他的内容都在wenapps.dist中

三、思路

想要解决这个问题有两个方法

1. 修改weapps

将webapps文件夹删除,将webapps.dist目录名称修改为webapps

2. 使用旧版tomcat

8或者9的tomcat版本即可

四、解决

方案一

删除webapps,webapps.dist替换为webapps
在容器内,到tomcat目录下

cd /usr/local/tomcat

在这里插入图片描述

1. 删除webapps目录

rm -rf webapps

在这里插入图片描述

2. 修改webapps.dist为webapps

mv webapps.dist webapps

在这里插入图片描述

3. 再次访问

172.20.10.13:9999

在这里插入图片描述
可正常访问,我们也能看到的确是tomcat最新的版本10.0.14

方案二

使用8或者9的tomcat版本
如果在容器内可输入exit退出容器

1. 搜索镜像

在仓库中搜索tomcat9的版本

docker search tomcat9

在这里插入图片描述

2. 拉取tomcat9镜像

拉取自己要用的镜像,我这里使用donglsheng/tomcat9_jdk8这个

docker pull donglsheng/tomcat9_jdk8

在这里插入图片描述

3. 查看镜像

拉取后查看镜像

docker images

在这里插入图片描述

4. 运行镜像生成容器实例

docker run --name tomcat9-libai -it -p 8888:8080 -d oupula/tomcat9_jdk8

在这里插入图片描述

5. 查看已运行的容器

docker ps

6. 访问网址

172.20.10.13:8888

在这里插入图片描述

可正常访问,tomcat版本为9.0.12


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

相关文章:

  • oracle数据库dbLink的使用
  • Coremail中睿天下|2023年第二季度企业邮箱安全态势观察
  • ZooKeeper分布式锁、配置管理、服务发现在Java开发中的应用
  • openGauss学习笔记-27 openGauss 高级数据管理- JOIN
  • 域名解析优先级
  • 【Opencv】视频跟踪算法KCF
  • 后端整理(集合框架、IO流、多线程)
  • C++ 类和对象篇(二) this指针
  • Excel快捷键F1-F9详解:掌握实用快捷操作,提升工作效率
  • Webpack 安装教程
  • 移远通信首批加入“5G+eSIM计算终端产业合作计划”,助力大屏移动终端全时在线
  • 全网最强大的工具箱—utools介绍及分享
  • Linux常用基础命令❀
  • SQL-进阶
  • [Pytorch]卷积运算conv2d
  • 主流开源监控系统一览
  • 爬虫原理详解及requests抓包工具用法介绍
  • tinkerCAD案例:31. 3D 基元形状简介
  • Vue2基础一、快速入门
  • 【POJ-3279】Fliptile(递推+搜索)
  • 522个matplotlib绘图案例,包含:折线图、散点图、条形图、饼图、直方图、3D图等,源码可直接运行!
  • windows安装Elasticsearch8.9.0
  • 用Delphi编写一个通用视频转换工具,让视频格式转换变得更简单
  • Kafka系列之:安装Know Streaming详细步骤
  • 绝杀 GETPOST 嵌套的 JSON 参数
  • Spring 项目过程及如何使用 Spring
  • 信息学奥赛一本通——1258:【例9.2】数字金字塔
  • selenium官网文档阅读总结(day 2)
  • VMware虚拟机安装VMware tools
  • 【Linux命令200例】rm用来删除文件或目录(谨慎使用)