阿里云ECS服务器Docker安装Tomcat无法访问

问题描述

最近在阿里云ecs上使用docker安装tomcat时遇到了无法访问tomcat的问题,原因比较无语,是从 hub.docker中下载的最新版tomcat镜像中包含有两个webapps 文件夹。一个文件夹名为webapps,但是这个文件夹是空的,里面什么也没有。另外一个文件夹名为webapps.dist,里面有tomcat完整的文件夹和文件。将空的文件夹删除,然后重命名webapps.distwebapps即可访问到tomcat的首页。

问题重现及解决

问题重现

使用如下命令下载tomcat最新版镜像

docker pull tomcat

下载完成后如图所示:
在这里插入图片描述输入如下命令使用tomcat镜像创建tomcat容器:

docker run -d -p 8080:8080 tomcat

在这里插入图片描述
此时tomcat容器已经运行,但是还是无法访问tomcat的首页,当然这都是已经排除防火墙和ecs安全组等相关情况的前提下;
在这里插入图片描述
进入到容器内部:

docker exec -it 52970cb0cb10 /bin/bash

在这里插入图片描述
此时就能看到如图中的两个文件夹。其中webapps文件夹为空,而webapps.dist包含完整的tomcat文件
在这里插入图片描述
按照问题描述删除和重命名文件夹之后,这个问题即可解决!
在这里插入图片描述

注意:tomcat容器停止重新启动后,还会出现这两个文件夹,难道以上步骤还得重来一遍吗?

对于以上问题,答案当然是否定的,我们只需要通过commit操作创建自己的镜像就可以了。

以上运行中的容器是我们可以访问tomcat首页后的容器,通过如下命令格式将该运行的容器创建为我们自己的镜像。

## docker commit的命令格式
docker commit -a="作者名" -m="描述信息" 容器ID 要创建的目标镜像名:[标签名]
docker commit -a="zhangsan" -m="tomcat can access" dfceb5e5582f tomcat8:8.8

执行后就可以看到我们自己创建的镜像了


通过我们自己创建的镜像创建tomcat容器:

docker run -d -p 8081:8080 444a57af95da 

执行完命令之后我们通过浏览器访问tomcat首页可能还是无法访问到,进入到容器内部查看也是只有webapps


但是为什么还是访问不到呢,不要担心,其实不是我们访问不到,只是容器还没有完全启动起来,我们只需要稍等片刻,就能访问得到了。

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值