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

docker容器运行成功但无法访问,原因分析及对应解决方案(最新,以Tomcat为例,亲测有效)

原因分析:

  1.     是否能访问当运行docker容器虚拟机(主机)地址
  2.     虚拟机对应的端口号是否开启或者防墙是否关闭
  3.     端口映射是否正确(这个是我遇到的)
  4.     tomcat下载的是最新版,docker运行后里面是没有东西的,会报404

一般都是这几个原因导致的明明docker容器运行成功了,但确无法正常访问

案例复现(以第三的原因为例):

首先,我在docker容器上运行一个tomcat容器

docker run  --name tomcat1 -p 8088:8088 -d 108db0e7c85e
 

查看容器是否运行成功:docker ps

在浏览器中输入地址访问tomcat,发现失败

出现这种无法访问的一般就是端口映射出现了问题了,如果报404则代表端口为问题,但里面没有数据

出现上面这种问题,有二中解决方法,一种是重新运行一个容器,另一种是进入docker容器中,改tomcat的端口号。

--name   容器名(可以自定义)   -p  主机ip:映射ip  -d  镜像名/镜像id

1 重新运行一个容器:docker run  --name tomcat2 -p 8089:8080 -d 108db0e7c85e

2  进入那个不能访问的容器里面,修改tomcat端口号

        进入tomcat1容器内部: docker exec -it tomcat1 bash

这里操作难度会比较大,因为docker容器中无法使用vi和vim等文本编辑器,需要你自己下载

解决方法:

针对问题1:要实现确保你可以ping虚拟机的IP

针对问题2,查看虚拟机端口是否开发,不开放,则开放对应端口,或者直接禁用防火墙

针对问题3:要注意端口映射,主机端口可以自己定义,但容器映射的端口必须与应用的配置端口一样,列如nginx默认80,tomcat默认8080,如果已经运行了,不想删除容器,则可以进入容器内

修改应用端口号

针对问题4:最新版的tomcat是可以使用的,但是就是webapps中默认是没有内容的

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

相关文章:

  • 第15章 秒杀商品隔离解决方案
  • 2023-08-31力扣每日一题-姜汁水题
  • 五大优化技巧,让你的视频直播app源码更加流畅
  • Weblogic10中常用Linux指令
  • OpenAI 函数调用教程
  • Spark有两种常见的提交方式:client 模式和 cluster 模式对机器 CPU 的影响
  • HarmonyOS/OpenHarmony(Stage模型)应用开发单一手势(三)
  • Git的安装以及基础使用方法
  • 用通俗易懂的方式讲解大模型分布式训练并行技术:数据并行
  • Shopify电子邮件营销方法?邮件营销的技巧?
  • SpringCloud 初识
  • idea所有历史版本下载
  • Android笔记(二十八):在雷电模拟器安卓7.0+上使用Charles抓包详细教程
  • Python之数值和内建函数
  • 【CSS左右上角斜标签】CSS实现左右上角飘带功能,左右上角斜标签(附源码)
  • Java 日志技术
  • OpenCV(二十六):边缘检测(二)
  • 大数据平台之元数据
  • react脚手架初始化项目及ts的应用(react+ts)
  • QT 初识多线程
  • ubuntu修改用户名和用户密码
  • 七、Linux中一些符号的含义和宿主目录的介绍
  • Python基础语法:数据分析利器
  • NIO基础
  • npm修改为国内镜像
  • php魔术方法和反序列化漏洞
  • 依赖项的处理与层的创建与注册
  • Linux CentOS7 系统中添加用户
  • 八、任务状态
  • 基于python的反爬虫技术的研究设计与实现