Linux中使用Docker容器构建Tomcat容器的完整教程

 更新时间:2024年09月22日 09:19:34   作者:神秘泣男子  
Apache Tomcat 是一款广泛使用的开源 Java 应用服务器,适用于运行 Java Servlet 和 JSP 应用程序,本教程将详细介绍如何在 Docker 中构建并运行一个 Tomcat 容器,并提供相应的步骤和解释,需要的朋友可以参考下

在现代应用程序开发中,容器化技术已成为一种重要的解决方案。Apache Tomcat 是一款广泛使用的开源 Java 应用服务器,适用于运行 Java Servlet 和 JSP 应用程序。本教程将详细介绍如何在 Docker 中构建并运行一个 Tomcat 容器,并提供相应的步骤和解释。

构建Tomcat容器

1.创建工作目录

首先,我们需要创建一个工作目录,用于存放 Dockerfile 和其他相关文件。打开终端并输入以下命令:

mkdir tomcatcd tomcat

这将创建一个名为 tomcat 的新目录,并切换到该目录中。

2.创建Dockerfile文件

tomcat 目录内创建一个名为 Dockerfile 的文件。使用以下命令打开文件:

vim Dockerfile

在tomcat文件内创建

FROM centos:7
 
# 清理默认的 yum 源并添加阿里云源
RUN rm -rf /etc/yum.repos.d/* \
    && curl -o /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo
 
# 安装必要的工具和依赖
RUN yum install -y wget pcre-devel net-tools gcc gcc-c++ zlib zlib-devel make openssl-devel java-1.8.0-openjdk \
    && yum clean all
 
# 下载并安装 Apache Tomcat
RUN wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz \
    && tar zxvf apache-tomcat-8.5.16.tar.gz \
    && mv apache-tomcat-8.5.16 /usr/local/tomcat \
    && rm -f apache-tomcat-8.5.16.tar.gz
 
# 暴露 Tomcat 端口
EXPOSE 8080
 
# 设置工作目录
WORKDIR /usr/local/tomcat
 
# 添加并设置运行脚本
COPY run.sh /run.sh
RUN chmod +x /run.sh
 
# 设置容器启动命令
CMD ["/run.sh"]

Dockerfile 解释:

  • FROM centos:7:指定基础镜像为 CentOS 7。
  • RUN 指令:执行一系列命令以清理默认的 yum 源并添加阿里云源,安装必要的工具和依赖项,包括 JDK 和 Tomcat。
  • EXPOSE 8080:暴露 Tomcat 的默认端口 8080,以便外部访问。
  • WORKDIR /usr/local/tomcat:设置工作目录为 Tomcat 的安装目录。
  • COPY run.sh /run.sh:将本地的 run.sh 脚本复制到容器中。
  • CMD ["/run.sh"]:设置容器启动时执行的命令。

3.编写执行脚本

在t在 tomcat 目录下创建一个名为 run.sh 的脚本文件:

在t在 tomcat 目录下创建一个名为 run.sh 的脚本文件:

vim run.sh

在文件中输入以下内容:

#!/bin/bash
/usr/local/tomcat/bin/startup.sh
tail -f /usr/local/tomcat/logs/catalina.out

脚本解释:

  • #!/bin/bash:指定脚本的解释器为 Bash。
  • /usr/local/tomcat/bin/startup.sh:启动 Tomcat 服务器。
  • tail -f /usr/local/tomcat/logs/catalina.out:实时查看 Tomcat 的日志输出,以便监控服务器状态。

确保脚本具有可执行权限:

chmod +x run.sh

4.生成镜像

使用以下命令构建 Docker 镜像:

docker build -t my-tomcat .

等待完成.

生成镜像解释:

  • docker build:构建新的镜像。
  • -t my-tomcat:为生成的镜像指定一个标签(名称)。
  • .:指定上下文目录,通常是 Dockerfile 所在的目录。

功能:根据当前目录中的 Dockerfile 构建一个新的镜像。参数:-t my-tomcat:为生成的镜像指定一个标签(名称)。.:指定上下文目录,通常是 Dockerfile 所在的目录。

5.运行容器并验证

[root@localhost tomact]# docker run -d -p 8080:8080 --name my-tomcat-container my-tomcat
07eca5a0845edcd1842dffaac71665b0bf5b5ca71115cd85049317c091d08bbf

功能:创建并启动一个新的容器。参数:-d:以分离模式运行容器(在后台运行)。-p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。--name my-tomcat-container:为容器指定一个名称。my-tomcat:使用的镜像名称。

6.访问 Tomcat 服务器

容器启动后,可以通过浏览器访问 Tomcat 服务器。打开浏览器,输入以下地址(根据你的服务器 IP 地址进行替换):

访问服务器的8080端口(根据你自己ip访问)

http://<你的IP地址>:8080

如果一切正常,你将看到 Tomcat 的欢迎页面。

总结

通过以上步骤,我们成功地在 Docker 中构建并运行了一个 Tomcat 容器。这个过程不仅展示了如何使用 Dockerfile 自动化构建过程,还展示了如何通过脚本管理 Tomcat 的启动和日志。这种容器化的方式使得应用程序的部署和管理变得更加高效和灵活。

以上就是Linux中使用Docker容器构建Tomcat容器的完整教程的详细内容,更多关于Linux使用Docker构建Tomcat的资料请关注脚本之家其它相关文章!

相关文章

  • 修改Tomcat端口号的常见方法

    修改Tomcat端口号的常见方法

    这篇文章主要介绍了如何修改Tomcat端口号的方法,文中通过图文结合介绍的非常详细,小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧
    2023-10-10
  • 一次tomcat源码启动控制台中文乱码的调试过程记录

    一次tomcat源码启动控制台中文乱码的调试过程记录

    平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,下面这篇文章主要给大家介绍了一次tomcat源码启动控制台中文乱码的调试过程,需要的朋友可以参考下
    2021-06-06
  • Tomcat 8.5 环境搭建步骤

    Tomcat 8.5 环境搭建步骤

    Tomcat是一个流行的开源Java Servlet容器,它提供了一个运行Java Web应用程序的平台,本文将为您提供关于如何搭建Tomcat 8.5环境的详细指南,感兴趣的朋友一起看看吧
    2024-01-01
  • Maven使用tomcat8-maven-plugin插件的详细教程

    Maven使用tomcat8-maven-plugin插件的详细教程

    这篇文章主要介绍了Maven使用tomcat8-maven-plugin插件的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Tomcat Nginx Redis实现session共享过程图解

    Tomcat Nginx Redis实现session共享过程图解

    这篇文章主要介绍了Tomcat Nginx Redis实现session共享过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 实现将Web应用部署到Tomcat根目录的三种方法

    实现将Web应用部署到Tomcat根目录的三种方法

    本篇文章主要介绍了实现将Web应用部署到Tomcat根目录的三种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • tomcat加载jar异常问题的分析与解决

    tomcat加载jar异常问题的分析与解决

    这篇文章主要给大家介绍了关于tomcat加载jar异常问题的分析与解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用tomcat具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Nginx+Tomcat关于Session的管理的实现

    Nginx+Tomcat关于Session的管理的实现

    本篇文章主要介绍了Nginx+Tomcat关于Session的管理,通过实例的方式循序渐进的介绍了几种管理session的方式。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 解析在Tomcat中启用虚拟线程特性

    解析在Tomcat中启用虚拟线程特性

    这篇文章主要介绍了在Tomcat中启用虚拟线程特性,准备好嵌入式Tomcat的依赖,需要引入三个依赖包,分别是tomcat-embed-core、tomcat-embed-el和tomcat-embed-websocket,版本选用10.1.0+ ,本文结合实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2022-10-10
  • Tomcat服务器 安全设置

    Tomcat服务器 安全设置

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安全隐患,可被恶意攻击。
    2009-08-08

最新评论