今天在学习用docker安装tomcat镜像并访问的时候出现了以下界面
一开始以为是阿里云的安全组没有开启端口,检查过后发现已经开启。
经过观看视频学习发现,原来是docker的tomcat是经过阉割的,里面的webapps是空的。
所以就没能找到tomcat的页面(显示404),但其实tomcat已经是成功启动的。
我们只需要进入tomcat容器开启一个交互模式的终端:
docker exec -it 容器名称 /bin/bash
我们发现webapps.dist中有正常的webapps文件夹中该有的东西:
1.docs tomcat的介绍和操作文档等
2.examples 小程序示例
3.host-manager host管理
4.manager 进行 Server Status 和 Applications 管理, 对服务器和其他应用进行启动、重启、关闭等操作, 对 Session、JVM 性能参数等进行监听并管理
5.ROOT 根目录
解决方法
我们只需要把webapps.dist中的复制过去webapps就可以显示出熟悉的tomcat界面了。
cp webapps.dist/* webapps
下面总结一下docker安装tomcat镜像的命令
1.安装tomcat
你可以先在docker hub中找到你需要的版本
也可以直接在命令行中输入
docker search tomcat
2.拉取官方的镜像
docker pull tomcat(默认最新版本)
也可以指定版本拉取:
docker pull tomcat:9.0(拉取9.0版本的tomcat)
3.查看docker中所有的镜像
docker images
或
docker image ls
可以看到tomcat的9.0版本已经被我们拉取下来了。
4.启动运行tomcat
docker run -d -p 8080:8080 --name tomcat1 tomcat
8080:8080前者是外围访问端口:后者是容器内部端口
如下图为例,将服务器中的3344端口映射到了docker中的80端口,访问服务器ip的3344端口时,访问的就是docker中的80端口。
5.查看在运行的容器和停止容器
docker ps
红圈的容器id可以用来停止容器
docker stop f593e0f3bf14
停止后再访问8080端口就显示
参考:
https://www.bilibili.com/video/BV1og4y1q7M4
https://www.cnblogs.com/joeking/p/11422854.html