1、Docker中安装Tomcat
(一)两种安装方案
一、官方的使用
这样用的话用完就会自动删除容器。
咱们以前的启动都是后台工中止了容器以后,容器仍是能够查到;linux
docker run -it --rm, 通常用来测试,用完就删除。web
docker run -it --rm tomcat:9.0
1
二、下载在启动 (咱们通常用这种)
docker pull tomcat
1
启动运行
-d是设置后台运行;
-p是设置外网访问的端口号docker
docker run -d -p 8888: 8080 --name tomcat01 tomcat
1
在Docke内测试访问没有问题;
但到外网访问出现404异常。
(二)解决方案
进入容器
而后发现问题(详看法决方法1中)
一、linux命令少了;2。没有webapps。阿里 云镜像的缘由。默认是最小的镜像,全部没必要要的都剔除掉。由于默认保证最小可运行的环境!
一、解决方法1
查看缘由步骤tomcat
#首先进入容器内
[root@localhost cc]# docker exec -it 你运行中的容器名或id /bin/bashbash
#已经进入了tomcat,而后进入webapps目录
root@d5a348e0e0c8:/usr/local/tomcat# cd webappsapp
#查看webapps里的文件,发现没有
root@d5a348e0e0c8:/usr/local/tomcat/webapps# lswebapp
#退回到上一级
root@d5a348e0e0c8:/usr/local/tomcat/webapps# cd ..ide
#查看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/bashit
#已经进入了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
首先和上边同样先进入tomcat
docker exec -it 你的运行ID /bin/bash
1
而后更改webapps的文件名
mv webapps webapps2
1
最后把有配置文件的webapps.dist名字改成webapps
mv webapps.dist/ webapps
二、解决方法2
首先和上边同样先进入tomcat
docker exec -it 你的运行ID /bin/bash
1
而后更改webapps的文件名
mv webapps webapps2
1
最后把有配置文件的webapps.dist名字改成webapps
mv webapps.dist/ webapps