操作步骤
按照docker的几条基础命令启动tomcat:
1.下载tomcat镜像
(根据多篇博客的建议,不要用最新的,最新的tomcat下webapps里面是空的)
docker pull tomcat:8.0.52
2.启动tomcat容器,启动的同时将容器的端口映射到外网的linux上。
docker run -d -p 8080:8080 b4b762737ed4
(命令中最后一串字符串是镜像id,可通过 docker images查看)
遇到问题
理论上,按照上述步骤操作后,应该可以通过 http://ip:8080 正常访问tomcat了。但是,我的页面未加载出来。如下,也没有像别人遇到的404之类的错误。
排查思路
首先的排查思路是先确认下tomcat的webapps下是否有文件。
通过命令进入容器:
docker exec -it 3e852b3930c3 bash
进入容器后,查看webapps的内容:
发现webapps里该有的文件都有,也就是说,通过docker启动tomcat容器 这块可能没有问题。
由于笔者用的是阿里云服务器,这个时候,我开始怀疑阿里云服务器可能有什么限制。
于是通过"阿里云服务器" 作为关键字来百度,发现果然是阿里云服务器的原因。
此处感谢:https://www.cnblogs.com/wxjnew/p/6962023.html
解决方案
先登录阿里云,打开ecs控制台,找到【安全组】--【配置规则】
手动添加这条规则:
配置好之后,重新访问tomcat页面就正常了。