当前位置: 代码网 > 服务器>服务器>云虚拟主机 > docker容器运行成功但无法访问的原因分析及解决方案(以Tomcat为例亲测有效)

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

2024年05月18日 云虚拟主机 我要评论
原因分析:是否能访问当运行docker容器虚拟机(主机)地址虚拟机对应的端口号是否开启或者防墙是否关闭端口映射是否正确(这个是我遇到的)tomcat下载的是最新版,docker运行后里面是没有东西的,

原因分析:

  • 是否能访问当运行docker容器虚拟机(主机)地址
  • 虚拟机对应的端口号是否开启或者防墙是否关闭
  • 端口映射是否正确(这个是我遇到的)
  • 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中默认是没有内容的

到此这篇关于docker容器运行成功但无法访问的原因分析及解决方案(以tomcat为例亲测有效)的文章就介绍到这了,更多相关docker运行成功但无法访问内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com