当前位置: 首页 > article >正文

一起学docker系列之十docker安装tomcat实践

目录

  • 前言
  • 1 安装tomcat的步骤
    • 步骤 1: 查找并拉取 Tomcat 镜像
    • 步骤 2: 运行 Tomcat 容器
    • 步骤 3: 管理 Tomcat 容器
    • 步骤 4: 访问 Tomcat 首页
  • 2 解决访问首页的404访问不到的问题
    • 2.1 Tomcat 10 的默认设置问题
    • 2.2 端口映射或防火墙问题
  • 3 推荐使用 Tomcat 8.5 版本
      • 总结

前言

当安装 Tomcat 时使用 Docker 是一种便捷的方式。这种方法允许用户轻松地创建、运行和管理 Tomcat 容器,而无需在本地系统上安装和配置 Tomcat。下面是如何详细安装 Tomcat 使用 Docker 的步骤及解释。
在这里插入图片描述

1 安装tomcat的步骤

步骤 1: 查找并拉取 Tomcat 镜像

首先,在 Docker Hub 上搜索适合您需求的 Tomcat 镜像。例如,您可能想选择特定版本的 Tomcat。使用以下命令来搜索并拉取 Tomcat 镜像:

docker search tomcat
docker pull tomcat:{version}

步骤 2: 运行 Tomcat 容器

使用以下命令在容器中运行 Tomcat:

docker run -d -p 8080:8080 --name my_tomcat tomcat:{version}

解释:

  • -d:以后台模式运行容器。
  • -p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
  • --name my_tomcat:为容器指定一个名称。
  • tomcat:{version}:选择的 Tomcat 镜像及版本。

步骤 3: 管理 Tomcat 容器

使用以下命令查看正在运行的容器:

docker ps

如果需要进入容器的命令行界面,可以使用以下命令:

docker exec -it my_tomcat /bin/bash

步骤 4: 访问 Tomcat 首页

在浏览器中输入 localhost:8080 来访问 Tomcat 的首页。

2 解决访问首页的404访问不到的问题

2.1 Tomcat 10 的默认设置问题

有时候,在访问 Tomcat 10 的首页时可能会遇到 404 错误。可以通过以下步骤解决:
在这里插入图片描述

  1. 进入 Tomcat 容器的 bash:

    docker exec -it my_tomcat /bin/bash
    
  2. 删除默认的 webapps 目录并将 webapps.dist 重命名为 webapps

    rm -rf webapps
    mv webapps.dist webapps
    

2.2 端口映射或防火墙问题

确保端口映射正确,主机防火墙没有阻止对 Tomcat 的访问。

3 推荐使用 Tomcat 8.5 版本

您可以选择使用 Tomcat 8.5 版本。拉取并运行 Tomcat 8.5 的方法如下:

docker pull billygoo/tomcat8-jdk8
docker run -d -p 8080:8080 --name my_tomcat8 billygoo/tomcat8-jdk8

使用容器数据卷运行 Tomcat 8

对于 Tomcat 8,可以使用容器数据卷来确保数据持久化。使用 -v 参数来指定数据卷的挂载路径。

docker run -d -p 8080:8080 --name my_tomcat8 -v /host/path:/container/path billygoo/tomcat8-jdk8

在上述命令中,/host/path 是宿主机上的路径,/container/path 是容器中 Tomcat 数据的路径。

总结

使用 Docker 安装和管理 Tomcat 可以简化配置和部署流程。这个过程使得在容器中运行 Tomcat 变得轻松且可控,让您专注于应用程序的开发和管理。通过这个指南,您可以轻松开始并根据需要进行自定义配置。


http://www.kler.cn/a/147605.html

相关文章:

  • Ubuntu+ROS 机械臂拾取和放置
  • 03-axios常用的请求方法、axios错误处理
  • Tiktok对接和内容发布申请流程
  • 【因果分析方法】MATLAB计算Liang-Kleeman信息流
  • 【3D Slicer】的小白入门使用指南八
  • AI开发-计算机视觉库-OpenCV
  • leetCode 226.翻转二叉树
  • MFC—CTabCtrl 、CListCtrl
  • k8s docker总结特殊点
  • 【Jmeter】什么是BeanShell?
  • ACE 2005,LDC2006T06数据集获取
  • 2023人形机器人行业海外科技研究:从谷歌看机器人大模型进展
  • Doris_Doris导入常见问题
  • docker容器入门
  • BEV+Transformer架构加速“上车”,智能驾驶市场变革开启
  • Zookeeper 实战 | Zookeeper 和Spring Cloud相结合解决分布式锁、服务注册与发现、配置管理
  • NocoBase企业级低代码开发平台有什么优势?
  • 【C/PTA —— 12.指针1(课内实践)】
  • 面试问题--内存泄漏和内存溢出
  • MySQL的Linux安装
  • 【数据结构初阶】栈和队列
  • 人力资源管理后台 === 基础环境+登陆
  • 你有准备自我介绍吗?
  • easyexcel指定sheet页动态给行列加背景色
  • 顺序表总结
  • Spark RDD、DataFrame和Dataset的区别和联系