首先恭喜你,看到这个界面说明Tomcat是OK的,只是没有访问到自己想要的页面。
1.如果是在学习Docker的tomcat容器部署,出现上述错误,则是镜像本身的问题,换个镜像就可以了。
如果不想换镜像,通过
#
docker ps
获取你Tomcat容器的ID(
复制ID
),然后再通过
#
docker exec -it Tomcat容器ID
,这个命令,进入容器内部,
#
cd webapps
,随意创建个文件夹
web_demo
,然后里面随意写一个index.html。然后再通过地址栏访问:http://192.168.31.191:8080/web_demo/index.html 此时自然是可以访问通的。
2.如果是在常规访问,出现的这个错误,那么道理是一样的,要进入你的部署目录检查你访问地址对应的工程目录,看一下webapps下面的工程是否部署成功。
该错误,本身说明Tomcat是通的,仅仅是你因为你访问的路径不对(
后面缺失一些具体路径,
比如忘记带工程名称了
),或者被访问的路径下缺失默认页面index.html或者index.jsp。
1.用标准流程停掉tomcat
#docker ps 查看容器列表,然后根据容器ID移除
#docker stop 46ac1401f5b8 停掉服务后,再重新移除
#docker rm 46ac1401f5b8 如果容器正在运行会被要求先停掉服务
2.删除/移除指定版本的Tomcat镜像
docker rmi tomcat:latest 移除指定镜像
注:后面的latest是Tomcat镜像标签,用命令:
docker images
可以获取(第二列)
3.重新下载镜像
docker pull tomcat:8.5.46-jdk8-openjdk 该版本镜像,可以访问到tomcat首页
4.宿主机8000重新关联容器中的Tomcat8080端口
docker run -p 8000:8080 -d tomcat:8.5.46-jdk8-openjdk 后台阻塞运行(如果不带-p,则前台窗口运行)
注:如果只安装了一个版本的Tomcat后面的标签(Tomcat版本) 可以不带
5.再次访问
http://192.168.31.191:8000
既然能看到图像界面上的Tomcat版本号,说明很可能是tomcat本身的问题,比如是精简版,默认没有index.jsp(tomcat首页)。如果上述步骤没有界面,则要认真排查一下了
1.本地打开cmd窗口ping一下访问的ip
ping 192.168.31.191
如果不能ping通,则要检查linux的ip配置问题了,可参考:
ping不通,点击这里
2.如果能ping通,再telnet一下
telenet 192.168.31.191 8000 成功后是一个纯黑色的界面
如果端口没有通,页面则会直接有错误提示,此时就要检查防火墙等方面的问题了,要么让防火墙给此端口放行,要么关闭防火墙。
提示:如果Windows系统的cmd界面,无法识别telnet命令,
请点击这里
。
1.放行指定端口
#添加指定需要开放的端口:
firewall-cmd --add-port=8000/tcp --permanent
#重载入添加的端口:
firewall-cmd --reload
#查询指定端口是否开启成功:
firewall-cmd --query-port=8000/tcp
2.放行指定IP
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.31.191" accept"
#重新载入
firewall-cmd --reload
iptables -L 查看IP策略
3.关闭防火墙
#systemctl stop firewalld 临时关闭
#systemctl disable firewalld 永久关闭
#systemctl status firewalld 查看状态
telenet 192.168.31.191 8000 能连通后,最后再排查dock和Tomcat本身的问题。问题终将会解决。
首先恭喜你,看到这个界面说明你已经访问成功了。仅仅是tomcat首页没跳出来,是镜像本身的问题,删掉原镜像,换个镜像就可以了。具体原因就是:tomcat本身的问题,比如是精简版,默认没有index.jsp(tomcat首页)这样的一堆文件。
2.自己制作新的镜像(初学者可以尝试一下)
到此这篇关于
Docker
Tomcat
为何看不到访问界面的文章就介绍到这了,更多相关
Docker
Tomcat
访问内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!
类型 状态报告
消息 请求的
资源
[/chapter06/IndexServlet]不可用
描述
源
服务器
未能
找到
目标
资源
的
表示
或者是
不愿
公开
一个
已经
存在
的
资源
表示
。
Apache
Tomcat
/9.0.37
问题原因,浏览器不能直接访问Java文件
问题的解决方法
1、提交表单时遇到此问题
<form name = reg action=/login method=post>
<meta charset=UTF-8>
账号:<input type=text name=usernam
报错:Error,关于运行localhost://8080/一直提示:“
源
服务器
未能
找到
目标
资源
的
表示
或者是
不愿
公开
一个
已经
存在
的
资源
表示
。“的可能问题集合。
IDEA-
Tomcat
-
源
服务器
未能
找到
目标
资源
的
表示
或者是
不愿
公开
一个
已经
存在
的
资源
表示
1起因2经过3说白了
在学习springMVC的过程中,写了
一个
demo需要部署到本地
Tomcat
上来运行(直接使用IDEA配置本地
tomcat
,不用再手动发war包到
tomcat
目录下)。因为之前用SpringBoot项目比较多(集成了
Tomcat
,不需要额外部署设置;也不需要额外配好多xml),所以这部分可以说是从0学起,踩了好多坑。
出现上面“
源
服务器
未能
找到
目标
资源
的
表示
或者是
不愿
公开
一个
已经
存在
的
资源
GleamHRM
人力
资源
管理(HRM)系统
Laravel 5.6版本用于创建HRM系统。 该系统的目的是有效管理人力
资源
职能。 每个模块在HRM中执行单独的功能,有助于收集或跟踪信息。 HRM模块可以帮助:
PHP 7.2以上版本
最好在本地系统上安装git setup。
下载/克隆后,转到终端/命令行上的项目目录,然后运行composer install或composer.phar install
一旦安装了作曲家,请运行迁移:
php artisan migrate
迁移后,运行数据库播种器:
php artisan db:seed
完成迁移和播种后,您将拥有默认用户:
email: admin@glowlogix.com
password: admin
Docker
安装
为您选择的操作系统安装
Doc
k
要创建
一个
自定义
doc
kwidget类,你需要先了解Qt中的
doc
kwidget和widget的概念。
Doc
kwidget是一种特殊的widget,它可以附加到主窗口的边缘,并可以随时拖动、关闭或重新排列。使用
doc
kwidget可以方便地实现一些常见的窗口布局,如多窗口、多文档等。
下面是创建自定义
doc
kwidget类的步骤:
1. 创建
一个
新类,继承自Q
Doc
kWidget类。
2. 在类的构造函数中设置
doc
kwidget的属性,如标题、位置、大小等。
3. 在类中定义需要显示的widget,并将其设置为
doc
kwidget的中心widget,以便在
doc
kwidget中显示。
4. 实现需要的功能,如添加按钮、响应事件等。
下面是
一个
简单的示例代码:
```cpp
class My
Doc
kWidget : public Q
Doc
kWidget
public:
My
Doc
kWidget(QWidget *parent = nullptr) : Q
Doc
kWidget(parent)
//设置标题和位置
setWindowTitle("My
Doc
k Widget");
setAllowedAreas(Qt::Left
Doc
kWidgetArea | Qt::Right
Doc
kWidgetArea);
//创建需要显示的widget
QWidget *centralWidget = new QWidget(this);
QLabel *label = new QLabel("Hello, world!", centralWidget);
QVBoxLayout *layout = new QVBoxLayout(centralWidget);
layout->addWidget(label);
centralWidget->setLayout(layout);
//设置中心widget
setWidget(centralWidget);
在主窗口中使用这个自定义
doc
kwidget类:
```cpp
My
Doc
kWidget *
doc
kWidget = new My
Doc
kWidget(this);
add
Doc
kWidget(Qt::Left
Doc
kWidgetArea,
doc
kWidget);
这样就可以在主窗口左侧添加
一个
名为"My
Doc
k Widget"的
doc
kwidget,并显示"Hello, world!"的标签。
Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
73745
Docker报错:OCI runtime exec failed: exec failed: container_linux.go:380: starting container process详解
49460
Maven锦集:在IDEA中配置环境变量 | 无法将“mvn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 | CommandNotFound | [ERROR]
2301_79835684:
Docker学习:容器五种(3+2)网络模式 | bridge模式 | host模式 | none模式 | container 模式 | 自定义网络模式详解
不死炎炎:
JAVA多线程:狂抓 join()方法到底会不会释放锁,给你彻底介绍清楚(三)
Aisnice:
JAVA多线程:狂抓 join()方法到底会不会释放锁,给你彻底介绍清楚(三)
Aisnice:
wvp避坑指南(1),总有一款适合你:DateUtil类Instant.from报日期转换错误 | zlm仍在线,点播超时 | 前台编辑、删除、新增操作无效 |浏览器403forbidden 打包报错
IDEA工具避坑指南(十一):git导入SpringBoot后|不识别依赖 |大量爆红 | 无法启动
IDEA工具避坑指南(十):git拉取java项目后,拉取后的工程目录下只有.git和.idea文件,没有src或java目录|拉取的maven工程不被识别为maven项目