Docker安装Tomcat无法访问的问题及解决

 更新时间:2023年07月11日 14:19:24   作者:普通网友  
这篇文章主要介绍了Docker安装Tomcat无法访问的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

问题出现

在服务器上使用docker安装tomcat时遇到了无法访问tomcat的问题。

是因为使用docker pull tomact 下载的tomcat镜像中包含有两个webapps 文件夹。

一个文件夹名为webapps,但是这个文件夹是空的,另外一个文件夹名为webapps.dist,里面有tomcat完整的文件夹和文件。

图示:

在这里插入图片描述

问题重现

1、使用docker下载tomcat镜像

docker pull tomcat:9

图示:

在这里插入图片描述

2、创建tomcat容器

docker run -d -p 8080:8080 tomcat:9

图示:

在这里插入图片描述

3、tomcat容器已经运行,但是还是无法访问tomcat的首页。

在这里插入图片描述

4、立刻查看防火墙端口和ECS安全组的情况。

查看防火墙状态

systemctl status firewalld

开启防火墙

systemctl start firewalld

查看端口信息

firewall-cmd --list-ports  # 只看端口信息

开启端口和重启防火墙

  • 开端口命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • 重启防火墙:
systemctl restart firewalld.service

查看安全组情况

在这里插入图片描述

注意:防火墙8080 端口开了并且阿里云安全组也开放了才能访问远程。

5、以上步骤都没问题,进入容器内部,发现两个webapps。

docker exec -it 53724a20a48c /bin/bash

其中webapps文件夹为空,而webapps.dist包含完整的tomcat文件。

在这里插入图片描述

6、将目录下webapps.dist里文件复制到webapps。

然后将webapps.dist删除.

cp -r webapps.dist/* ./webapps
rm -rf webapps.dist

7、结果

在这里插入图片描述

注意

tomcat容器停止重新启动后,还会出现这两个文件夹。

解决方案

对于以上出现的问题,可以通过commit操作创建自己的镜像就可以完美的避开此类情况的出现。

docker commit 从容器创建一个新的镜像。

语法:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a 提交的镜像作者
  • -c 使用Dockerfile指令来创建镜像
  • -m 提交时的说明文字
  • -p 在commit时,将容器暂停

操作步骤

1、创建镜像

docker commit -a="guardwhy" -m="kobe is mvp" 53724a20a48c tomcat9:9.1

图示:

在这里插入图片描述

2、创建tomcat容器

docker run -d -p 8081:8080 6b8b40011890

3、进入到容器内部查看。

docker exec -it 459677594ee1  /bin/bash

图示:

在这里插入图片描述

4、结果

在这里插入图片描述

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker搭建jenkins服务的示例

    docker搭建jenkins服务的示例

    这篇文章主要介绍了docker搭建jenkins服务的示例,帮助大家更好的理解和使用docker容器,感兴趣的朋友可以了解下
    2020-09-09
  • 阿里云镜像安装docker报错的问题及解决方案

    阿里云镜像安装docker报错的问题及解决方案

    这篇文章主要介绍了阿里云镜像安装docker报错的问题及解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 删除docker中没有被使用的数据卷volume

    删除docker中没有被使用的数据卷volume

    发现docker占用宿主机的磁盘空间很大,这个时候如何来释放这些数据卷占用的空间呢,通过执行相关命令即可顺利解决,下面小编给大家介绍下删除docker中没有被使用的数据卷volume,感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • windows宿主机和docker容器设置挂载共享文件夹的步骤

    windows宿主机和docker容器设置挂载共享文件夹的步骤

    这篇文章主要介绍了windows宿主机和docker容器设置挂载共享文件夹的步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 在docker中部署并启动redis的方法

    在docker中部署并启动redis的方法

    这篇文章主要介绍了在docker中部署并启动redis的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • docker for windonws之Windows 10 家庭中文版安装clickhouse 22.3版本及配置过程

    docker for windonws之Windows 10 家庭中文版安装cl

    这篇文章主要介绍了docker for windonws之Windows 10 家庭中文版安装clickhouse 22.3版本及配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Docker容器化应用与结构

    Docker容器化应用与结构

    本文详细讲解了Docker的容器化应用与结构,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 在云服务器上基于docker安装jenkins的实现步骤

    在云服务器上基于docker安装jenkins的实现步骤

    本文主要介绍了在云服务器上基于docker安装jenkins的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker镜像加速的详细教程

    Docker镜像加速的详细教程

    Docker 镜像非常轻量级,它们是基于分层的文件系统构建的,因此许多 Docker 镜像可以共享相同的基础镜像,这也使得它们在存储和传输时非常高效,这篇文章主要介绍了Docker镜像加速的详细教程,需要的朋友可以参考下
    2024-02-02
  • Docker 部署Mysql 服务和Redis 服务的方法

    Docker 部署Mysql 服务和Redis 服务的方法

    这篇文章主要介绍了Docker 部署Mysql 服务和Redis 服务的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论