10、docker 安装 tomcat

本文详细介绍了如何在Docker环境下安装Tomcat,包括从DockerHub拉取镜像,启动容器,端口映射,以及处理新版Tomcat的webapps路径变更。此外,还提到了使用预配置的免修改版镜像以简化安装过程。

一、docker 环境下安装中间件总体步骤 

  1. 搜索镜像
  2. 拉取镜像
  3. 查看镜像
  4. 启动镜像--服务端口映射

但其实,docker run 的时候,就会帮我们去配置的 registry 拉取镜像了,也就是 搜索镜像 这一步,其实是可有可无的。 

二、安装 tomcat

1、docker hub上面查找 tomcat 镜像

docker search tomcat

找到官方 OFFICAL ,这个就是我们要拉的镜像

 2、从 docker hub上拉取 tomcat 镜像到本地

docker pull tomcat

 

  3、docker images 查看是否有拉取到的 tomcat

docker images tomcat

  4、使用 tomcat 镜像创建容器实例 (也叫运行镜像)

docker run -it -p 8080:8080 tomcat

-p 小写,宿主机端口 :docker 容器端口

-P 大写,随机分配端口

i:交互

t:终端

d:后台

 打印出这句话,就说明启动成功了

 但此时,我们不能把终端停掉,因为我们是 -it 交互式启动,tomcat 会阻塞在那边等待请求连接进来。我们重新启动一个 linux 终端来查看一下我们的容器。

看到我们的 tomcat 正常启动了,而且 宿主机的 8080 端口 映射到 容器的 8080 端口。

 但其实,对于 tomcat 这种服务,我们习惯于 -d 后台启动它。

docker run -d -p 8080:8080 tomcat

所以这里,我们先把容器停掉,然后再重新启动它。

可以看到,docker start 启动的,就是后台启动方式。

当然如果从一开始,用 -d 参数也是这个效果。这里就不演示了。

 5、访问 tomcat 首页

因为我的 docker 服务是安装在阿里云ECS服务器上的,所以需要在安全组开放一下 8080 端口。

0.0.0.0 表示不限定特定IP的访问。

 在浏览器中输入   阿里云ECS公网IP:8080

发现访问失败

6、新版 tomcat webapps 路径有变更

  我们进入到容器内部。

docker exec -it 容器ID /bin/bash

我们知道,tomcat 首页要能够访问,webapps 下要有内容,现在 webapps 下面是空。

这是因为,新版的 tomcat 把一些静态资源,放置到 webapps.dist 目录下。

所以,我们需要把空的 webapps 删除掉,然后把 webapps.dist 目录替换成 webapps

 

 在浏览器中再访问

发现可以了,而且版本比较高的 Tomcat 10

 但是每次安装这样修改路径也是很麻烦,我们可以自己制作一个镜像,然后上传到仓库,当然,这种镜像已经有人帮我们制作了一个,我们拿来用就行。

三、免修改版安装

我们先停掉我们上面的 tomcat 

 拉取一个免修改版镜像

docker pull billygoo/tomcat8-jdk8

 运行

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

  在浏览器中再访问

现在的版本已经变为 8.0.53

### 使用 Docker 安装配置 Tomcat 教程 #### 准备工作 为了使用 Docker 部署 Tomcat,需先确保已成功安装并运行 Docker 环境。对于 CentOS 7 用户而言,可以通过特定指南完成 Docker安装与基础设置[^2]。 #### 下载 Tomcat 镜像 获取官方提供的 Tomcat Docker 映像文件是启动容器化的第一步。通过命令行工具执行 `docker pull` 命令来拉取指定版本的 Tomcat 镜像。例如要下载 Tomcat 8 版本,则输入: ```bash docker pull tomcat:8.0 ``` 这一步骤会自动连接至 Docker Hub 并检索所需的映像资源。 #### 启动 Tomcat 容器实例 利用所获得的镜像创建一个新的容器实例,并将其绑定到主机网络接口上以便外部访问。下面是一条用于启动带有默认配置的 Tomcat 实例的指令: ```bash docker run -d -p 8080:8080 --name my-tomcat-container tomcat:8.0 ``` 此操作将在后台以守护进程模式开启服务,同时将宿主机的 8080 端口映射给容器内部相同编号的服务端口[^3]。 #### 访问验证 一旦上述过程顺利完成,在浏览器地址栏键入 `<your_host_ip>:8080` 即可尝试打开 Web 应用服务器页面。如果一切正常运作但仅看到 HTTP 404 错误提示,不必担心——这是因为 Tomcat 默认情况下并没有预置任何网页内容;不过这也证明了服务器确实处于活动状态并且能够响应请求。 #### 进阶配置 (Nginx + Tomcat 负载均衡) 对于更复杂的应用场景比如实现 Nginx 和多个 Tomcat 实例间的负载平衡,可以参考专门针对此类架构设计的文章进一步学习实践方法[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值