【Docker实战】使用Docker部署Tomcat

  • 一、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 EngineLoaded: 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 agoDocs: https://docs.docker.comMain PID: 11884 (dockerd)Tasks: 108Memory: 2.7G

2. 检查Docker版本

检查Docker版本

[root@server001 ~]# docker version
Client: Docker Engine - CommunityVersion:           20.10.22API version:       1.41Go version:        go1.18.9Git commit:        3a2c30bBuilt:             Thu Dec 15 22:30:24 2022OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.22API version:      1.41 (minimum version 1.12)Go version:       go1.18.9Git commit:       42c8b31Built:            Thu Dec 15 22:28:33 2022OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.14GitCommit:        9ba4b250366a5ddde94bb7c9d1def331423aa323runc:Version:          1.1.4GitCommit:        v1.1.4-0-g5fd4c4ddocker-init:Version:          0.19.0GitCommit:        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实战】使用Docker部署Tomcat相关推荐

  1. Docker原理及容器部署Tomcat(一)

    Docker虚拟化是虚拟化技术解决方案中的一种,轻量级.高性能的虚拟化技术,是目前互联网使用最广泛的虚拟化技术: Docker虚拟化技术概念和原理 Docker虚拟化技术的产物Docker容器(虚拟机 ...

  2. Docker Centos 7.X部署Tomcat 并且修改Server.xml配置文件方案 并设置时区 只要十一步

    我用的是腾讯云 Centos 7.3版本,使用Docker最好使用7.x以上版本 1.拉取镜像 docker pull tomcat:8 2.创建容器并且挂载webapps的目录(我这里将本地端口映射 ...

  3. docker实战2 (docker swarm的应用,docker集群的构建,在docker集群中部署服务的创建与更新)

    前言: 在之前曾写过一个关于docker集群创建的教程,但是不够深入,只是停留到集群的初始化和节点加入上,这次具体到服务,并详细讲解其中的原理.而且总结了很多自己做的过程中所踩过的很多坑(比如镜像的d ...

  4. Docker实战:Docker安装部署RabbitMQ

    使用Docker安装部署RabbitMQ 1.docker search rabbitmq:management 2.docker pull rabbitmq:management 注意:如果dock ...

  5. kubernetes中mysql乱码_在kubernetes中部署tomcat与mysql集群-Go语言中文社区

    在kubernetes中部署tomcat与mysql集群之前必须要有以下这些基础: 1. 已安装.配置kubernetes 2. 集群中有tomcat与mysql容器镜像 3. 有docker基础 具 ...

  6. 「实战篇」开源项目docker化运维部署-后端java部署(七)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:「实战篇」开源项目docker化运维部署-后端java部署(七) 本节主要说说后端的部署需要注意的点,本身renren-fas ...

  7. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  8. docker实战部署Javaweb项目

    一.部署环境说明 docker服务版本: version 18.09.0 nginx服务版本: version: nginx/1.15.10 redis服务版本: version: redis/5.0 ...

  9. Docker Review - docker部署Tomcat Nginx

    文章目录 Docker 部署tomcat 搜索 tomcat 下载tomcat 启动tomcat 访问tomcat 查看webapps & 修复问题 重新访问tomcat Docker 部署N ...

最新文章

  1. 编java用jdk还是editplus_怎样运用EditPlus进行配置Java编译环境
  2. 加密和解密.net配置节
  3. SAP ABAP系统更改主机名
  4. Python---寻找给定序列中相差最小的两个数字
  5. python 爬虫 音乐下载 歌手_python爬虫批量下载全民K歌音乐
  6. PSR-2 代码风格规范
  7. 逐行读文件_用python比较两个文件的内容是否相同
  8. 如何判断链表有环、如何判断两个链表相交
  9. (原创)如何解决matlab乱码问题
  10. Django 框架篇(七) : 中间件 以及 5种方法
  11. createbitmap 旋转90度_如何旋转的位图90度
  12. 没有方案你抱怨;有了方案你会认真看吗?
  13. 编解码格式 -- AAC
  14. 笨方法学python3 习题17
  15. excel的lookup函数
  16. STM32可用的QRCODE二维码生成库
  17. java 自定义语言 解析_视频讲解 Java 语言基础编程题(自定义异常类,IO 流)
  18. 【RL从入门到放弃】【二 表格型RL】
  19. Flutter仿闲鱼底部导航栏实现
  20. 在表示计算机存储容量中1T,1T等于多少G,

热门文章

  1. 如何理解非同质化通证技术
  2. G65SC802 与 G65SC816 指令集(按字母顺序排列) (转)
  3. 推荐几个高质量的图片素材网站
  4. codeforces 820
  5. 华为鸿蒙980新机,华为鸿蒙OS新机来袭:麒麟980+京东方屏幕+4500mAh 华为诚意之作...
  6. unity中瞄准倍镜效果和源码
  7. 华为荣耀3c卡android界面,EmotionUI 华为荣耀3C
  8. 学习和练习ps一百多个小时后的第一张独立P图和要点总结
  9. JSP速达求职网的设计与实现(源代码+论文)
  10. SAP打印设置(假脱机)与打印乱码