解决Docker中Tomcat访问出现404问题

一、Docker中安装Tomcat
(一)两种安装方案
1、官方的使用
这样用的话用完就会自动删除容器。
我们之前的启动都是后台工停止了容器之后,容器还是可以查到;

docker run -it --rm, 一般用来测试,用完就删除。

docker run -it --rm tomcat:9.0
1
2、下载在启动 (我们一般用这种)
docker pull tomcat
1
启动运行
-d是设置后台运行;
-p是设置外网访问的端口号

docker run -d -p 8888: 8080 --name tomcat01 tomcat
1
在Docke内测试访问没有问题;
但到外网访问出现404异常。
(二)解决方案
进入容器
然后发现问题(详见解决方法1中)
1、linux命令少了;2。没有webapps。阿里 云镜像的原因。默认是最小的镜像,所有不必要的都剔除掉。因为默认保证最小可运行的环境!
1、解决方法1
查看原因步骤

#首先进入容器内
[root@localhost cc]# docker exec -it 你运行中的容器名或id /bin/bash

#已经进入了tomcat,然后进入webapps目录
root@d5a348e0e0c8:/usr/local/tomcat# cd webapps

#查看webapps里的文件,发现没有
root@d5a348e0e0c8:/usr/local/tomcat/webapps# ls

#退回到上一级
root@d5a348e0e0c8:/usr/local/tomcat/webapps# cd ..

#查看tomcat里的目录
root@d5a348e0e0c8:/usr/local/tomcat# ls
BUILDING.txt NOTICE RUNNING.txt lib temp work
CONTRIBUTING.md README.md bin logs webapps
LICENSE RELEASE-NOTES conf native-jni-lib webapps.dist

#发现有个webapps.dist,查看后发现有需要的文件,然后将webapps.dist里的文件复制到webapps中就可以了
root@d5a348e0e0c8:/usr/local/tomcat# cp -r webapps.dist/* webapps
#首先进入容器内
[root@localhost cc]# docker exec -it 你运行中的容器名或id /bin/bash

#已经进入了tomcat,然后进入webapps目录
root@d5a348e0e0c8:/usr/local/tomcat# cd webapps

#查看webapps里的文件,发现没有
root@d5a348e0e0c8:/usr/local/tomcat/webapps# ls

#退回到上一级
root@d5a348e0e0c8:/usr/local/tomcat/webapps# cd ..

#查看tomcat里的目录
root@d5a348e0e0c8:/usr/local/tomcat# ls
BUILDING.txt NOTICE RUNNING.txt lib temp work
CONTRIBUTING.md README.md bin logs webapps
LICENSE RELEASE-NOTES conf native-jni-lib webapps.dist

#发现有个webapps.dist,查看后发现有需要的文件,然后将webapps.dist里的文件复制到webapps中就可以了
root@d5a348e0e0c8:/usr/local/tomcat# cp -r webapps.dist/* webapps
2、解决方法2
首先和上边一样先进入tomcat

docker exec -it 你的运行ID /bin/bash
1
然后更改webapps的文件名

mv webapps webapps2
1
最后把有配置文件的webapps.dist名字改为webapps

mv webapps.dist/ webapps

2、解决方法2
首先和上边一样先进入tomcat

docker exec -it 你的运行ID /bin/bash
1
然后更改webapps的文件名

mv webapps webapps2
1
最后把有配置文件的webapps.dist名字改为webapps

mv webapps.dist/ webapps

猜你喜欢

转载自blog.51cto.com/14613614/2633354