Docker部署Tomcat的示例代码

2023-12-07 0 982
目录
  • 一、Tomcat介绍
    • 1. Tomcat简介
    • 2. Tomcat特点
    • 3. Tomcat容器部署的优点
    • 4. Tomcat的配置文件
  • 二、检查本地环境
    • 三、检查本地Docker环境
      • 1. 检查本地Docker服务
      • 2. 检查Docker版本
    • 四、搜索docker hub中的tomcat镜像
      • 五、下载tomcat镜像
        • 六、创建Tomcat容器
          • 1.创建数据目录
          • 2.运行Tomcat容器
          • 3.查看Tomcat容器状态
        • 七、访问Tomcat网页
          • 1.编辑网页内容
          • 2.访问tomcat网页

        一、Tomcat介绍

        1. Tomcat简介

        Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

        2. Tomcat特点

        Tomcat是一种开源的、轻量级的应用服务器,它实现了Java Servlet和JavaServer Pages规范。

        其特点包括:

        • 轻量级:Tomcat是一个轻量级的Web容器,在内存占用和启动时间上都比较快。
        • 易用性:Tomcat的使用和部署非常简单,它提供了方便的Web界面和命令行工具来管理和配置Web应用程序。
        • 易扩展性:Tomcat支持多种插件和扩展,可以方便地集成其他的Web应用程序框架和技术。
        • 跨平台性:Tomcat是基于Java开发的,可以在多种操作系统平台上运行。
        • 安全性:Tomcat提供了丰富的安全管理和访问控制机制,可以确保Web应用程序的安全性和可靠性。

        3. Tomcat容器部署的优点

        Tomcat用容器部署的优点包括:

        • 简化部署:通过容器化,可以将Tomcat的应用程序、配置文件和依赖项打包到一个docker容器中,从而简化了部署流程。
        • 轻量级:容器是轻量级的,只包含运行应用程序所需的组件,这可以减少资源消耗,提高效率。
        • 灵活性:容器可以随时启动、停止和移动,可以轻松地进行扩展和缩减,这为应对流量峰值和成本节约提供了便利。
        • 可靠性:容器提供隔离和安全性,可以防止应用程序之间的相互影响,从而提高可靠性和安全性。
        • 云友好性:容器可以轻松地在云端部署,与DevOps实践和自动化部署相适应,提高了应用程序管理的效率。

        4. Tomcat的配置文件

        Tomcat的配置文件包括以下几个:

        • server.xml:Tomcat服务器的主配置文件,定义了Tomcat的全局设置,包括端口、连接器、虚拟主机等。
        • web.xml:Web应用的配置文件,定义了Web应用的基本设置和参数。
        • context.xml:Web应用的上下文配置文件,定义了Web应用的上下文作用域的参数和设置。
        • catalina.properties:Tomcat的全局属性文件,定义了Tomcat的全局属性值。
        • logging.properties:Tomcat的日志配置文件,定义了Tomcat的日志记录器和级别。
        • tomcat-users.xml:Tomcat的用户认证和授权配置文件,定义了Tomcat管理界面的账户和权限。
        • realm.properties:Tomcat的安全领域配置文件,定义了Tomcat安全领域的用户名和密码及其角色。
        • jaspic-providers.xml:Tomcat的JASPIC(Java Authentication Service Provider Interface for Containers)配置文件,定义了JASPIC提供者的配置信息。

        二、检查本地环境

        检查本地操作系统版本:

        [root@node ~]# cat /etc/os-release 
        NAME=\”CentOS Linux\”
        VERSION=\”7 (Core)\”
        ID=\”centos\”
        ID_LIKE=\”rhel fedora\”
        VERSION_ID=\”7\”
        PRETTY_NAME=\”CentOS Linux 7 (Core)\”
        ANSI_COLOR=\”0;31\”
        CPE_NAME=\”cpe:/o:centos:centos:7\”
        HOME_URL=\”https://www.centos.org/\”
        BUG_REPORT_URL=\”https://bugs.centos.org/\”
        CENTOS_MANTISBT_PROJECT=\”CentOS-7\”
        CENTOS_MANTISBT_PROJECT_VERSION=\”7\”
        REDHAT_SUPPORT_PRODUCT=\”centos\”
        REDHAT_SUPPORT_PRODUCT_VERSION=\”7\”

        三、检查本地Docker环境

        1. 检查本地Docker服务

        检查本地Docker服务状态,确保Docker服务正常运行。

        [root@node ~]# systemctl status docker
        ● docker.service – Docker Application Container Engine
        Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
        Active: active (running) since Mon 2022-10-31 03:28:51 CST; 2 days ago
        Docs: https://docs.docker.com
        Main PID: 11884 (dockerd)
        Tasks: 108
        Memory: 2.7G

        2. 检查Docker版本

        检查Docker版本

        [root@server001 ~]# docker version
        Client: Docker Engine – Community
         Version:           20.10.22
         API version:       1.41
         Go version:        go1.18.9
         Git commit:        3a2c30b
         Built:             Thu Dec 15 22:30:24 2022
         OS/Arch:           linux/amd64
         Context:           default
         Experimental:      true
        Server: Docker Engine – Community
         Engine:
          Version:          20.10.22
          API version:      1.41 (minimum version 1.12)
          Go version:       go1.18.9
          Git commit:       42c8b31
          Built:            Thu Dec 15 22:28:33 2022
          OS/Arch:          linux/amd64
          Experimental:     false
         containerd:
          Version:          1.6.14
          GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323
         runc:
          Version:          1.1.4
          GitCommit:        v1.1.4-0-g5fd4c4d
         docker-init:
          Version:          0.19.0
          GitCommit:        de40ad0

        四、搜索docker hub中的tomcat镜像

        在docker官方的镜像仓库docker hub中搜索tomcat的容器镜像,

        这里直接选择的容器镜像为:tomcat:8.5.46-jdk8-openjdk

        [root@node ~]# docker search tomcat
        NAME DESCRIPTION STARS OFFICIAL AUTOMATED
        tomcat Apache Tomcat is an open source implementati… 3426 [OK]
        tomee Apache TomEE is an all-Apache Java EE certif… 98 [OK]
        bitnami/tomcat Bitnami Tomcat Docker Image 47 [OK]
        arm32v7/tomcat Apache Tomcat is an open source implementati… 11
        arm64v8/tomcat Apache Tomcat is an open source implementati… 8
        rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl… 7 [OK]
        amd64/tomcat Apache Tomcat is an open source implementati… 5
        jelastic/tomcat An image of the Tomcat Java application serv… 4
        tomcat2111/pisignage-server PiSignage Server 3 [OK]
        oobsri/tomcat8 Testing CI Jobs with different names. 2
        cfje/tomcat-resource Tomcat Concourse Resource 2
        chenyufeng/tomcat-centos tomcat基于centos6的镜像 1 [OK]
        ppc64le/tomcat Apache Tomcat is an open source implementati… 1
        appsvc/tomcat 1
        tomcat0823/auto1 0
        tomcatengineering/pg_backup_rotated Clone of martianrock/pg_backup_rotated but w… 0
        tomcat2111/papercut-mf PaperCut MF Application Server 0
        softwareplant/tomcat Tomcat images for jira-cloud testing 0 [OK]
        misolims/miso-base MySQL 5.7 Database and Tomcat 8 Server neede… 0
        s390x/tomcat Apache Tomcat is an open source implementati… 0
        semoss/docker-tomcat Tomcat, Java, Maven, and Git on top of debian 0 [OK]
        wnprcehr/tomcat 0
        secoresearch/tomcat-varnish Tomcat and Varnish 5.0 0 [OK]
        tomcat2111/bitbucket-pipelines-elasticsearch Elasticsearch for Bitbucket\’s Pipelines 0
        tomcat2111/phpredisadmin This is a Docker image for phpredisadmin 0 [OK]

        五、下载tomcat镜像

        在docker hub中拉取tomcat:8.5.46-jdk8-openjdk镜像。

        [root@node tomcat]# docker pull tomcat:8.5.46-jdk8-openjdk
        8.5.46-jdk8-openjdk: Pulling from library/tomcat
        092586df9206: Pull complete
        ef599477fae0: Pull complete
        4530c6472b5d: Pull complete
        d34d61487075: Pull complete
        272f46008219: Pull complete
        12ff6ccfe7a6: Pull complete
        f26b99e1adb1: Pull complete
        21bec9c8ea28: Pull complete
        b8a32f28e27c: Pull complete
        94fdd0ba0430: Pull complete
        Digest: sha256:bb4ceffaf5aa2eba6c3ee0db46d863c8b23b263cb547dec0942e757598fd0c24
        Status: Downloaded newer image for tomcat:8.5.46-jdk8-openjdk
        docker.io/library/tomcat:8.5.46-jdk8-openjdk

        六、创建Tomcat容器

        1.创建数据目录

        创建容器挂载目录

        [root@node ~]# mkdir -p /data/tomcat/data
        [root@node ~]# chmod -R 777 /data/tomcat/

        2.运行Tomcat容器

        使用docker-cli快速创建tomcat容器。

        [root@node tomcat]# docker run -d –name my_web –restart always -p 7090:8080 -v /data/tomcat/data:/usr/local/tomcat/webapps/ROOT/ tomcat:8.5.46-jdk8-openjdk
        26674fb4896f49f26282b3fe21b484d40017d13fd7cc474db5badf57bdb4a865

        3.查看Tomcat容器状态

        检查tomcat容器的运行状态,确保容器的正常启动。

        [root@node data]# docker ps
        CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
        26674fb4896f tomcat:8.5.46-jdk8-openjdk \”catalina.sh run\” About a minute ago Up About a minute 0.0.0.0:7090->8080/tcp, :::7090->8080/tcp my_web

        七、访问Tomcat网页

        1.编辑网页内容

        编辑一个测试index.html网页文件。

        [root@node tomcat]# cd data/
        [root@node data]# echo hello > index.html

        2.访问tomcat网页

        访问地址:http://192.168.3.166:7090可以正常访问到网页测试内容时,说明tomcat容器已经正常运行了。

        到此这篇关于Docker部署Tomcat的示例代码的文章就介绍到这了,更多相关Docker部署Tomcat内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

        收藏 (0) 打赏

        感谢您的支持,我会继续努力的!

        打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
        点赞 (0)

        悠久资源 Linux服务器 Docker部署Tomcat的示例代码 https://www.u-9.cn/server/linux/115193.html

        常见问题

        相关文章

        发表评论
        暂无评论
        官方客服团队

        为您解决烦忧 - 24小时在线 专业服务