本文介绍: 针对问题3:要注意端口映射主机端口可以自己定义,但容器映射端口必须与应用配置端口一样,列如nginx默认80,tomcat默认8080,如果已经运行了,不想删除容器,则可以进入容器内。出现上面这种问题,有二中解决方法,一种是重新运行一个容器,另一种是进入docker器中,改tomcat端口号针对问题4:最新版tomcat可以使用的,但是就是webapps默认没有内容的。针对问题2,查看虚拟机端口是否开发,不开放,则开放对应端口,或者直接禁用防火墙

原因分析

  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

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

        进入tomcat1容器内部docker execit tomcat1 bash

这里操作难度比较大,因为docker器中无法使用vivim文本编辑器,需要自己下载

解决方法

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

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

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

修改应用端口号

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

原文地址:https://blog.csdn.net/weixin_45533131/article/details/132592570

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_42402.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注