【项目实战】基于Docker安装Tomcat服务器

一、背景

Docker中安装Tomcat还是有点坑的,尤其是最新版本的Tomcat。
以下是踩坑的全步骤

二、操作汇总

docker ps # (查看目前运行中的docker镜像)
docker images #(查看所有的docker镜像)
docker pull tomcat #(去docker中拉去最新版本的Tomcat)
docker run -d -p 8080:8080 tomcat #(运行Tomcat)
sudo docker run -d -p 8080:8080 tomcat #(切换root用户去运行Tomcat)
yum update #(可能会需要进行yum文件的更新,需要比较长的时间)
docker exec -it 312eac170c03 sh #(进入Tomcat容器内部:方式1)
docker exec -it 312eac170c03 /bin/bash  #(进入Tomcat容器内部:方式2)
wget http://www.localhost:8080 #(测试看看本机能到正常访问到Tomcat的内部)
docker restart 312eac170c03 #(重启镜像服务)
docker run -d -p 8080:8080 {IMAGE}#(运行指定IMAGE ID的Tomcat)

三、关键命令详解

3.1 docker pull tomcat 拉取Tomcat镜像

【项目实战】基于Docker安装Tomcat服务器_第1张图片

3.2 docker run -d -p 8080:8080 tomcat 运行Tomcat

在这里插入图片描述
但是实际上是没有Tomcat在运行的。只有一个nginx
在这里插入图片描述
在这里插入图片描述
【项目实战】基于Docker安装Tomcat服务器_第2张图片

3.3 排查访问报错404原因

3.3.1 检查阿里云开放安全组端口

安装 Tomcat,需要开放8080端口
检查阿里云开放安全组端口+Docker运行的端口,都是8080
在这里插入图片描述
【项目实战】基于Docker安装Tomcat服务器_第3张图片

3.3.2 关闭防火墙

如果防火墙没有关闭,建议先关闭防火墙

(1)查看防火墙状态:systemctl status firewalld
【active (running)表示防火墙开启, inactive (dead)表示防火墙已关闭)】
在这里插入图片描述
(2)开启防火墙:systemctl start firewalld
(3)关闭防火墙:systemctl stop firewalld
(4)禁止防火墙开机启动:systemctl disable firewalld

3.3.3 把webapps.dist目录换成webapps

可能因为没有映射端口,最新版的tomcat需要映射端口,
因为最新版的tomcat中webapps目录为空;需要将webapps.dist换成wepapps。

3.4 报错解决

上面Tomcat的最新镜像有问题,重新下载一个、

docker pull billygoo/tomcat8-jdk8

【项目实战】基于Docker安装Tomcat服务器_第4张图片

docker images

查看目前拥有的Tomcat镜像
在这里插入图片描述
指定的Tomcat的镜像版本进行运行
参考了Docker Run命令 中的描述

 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

【项目实战】基于Docker安装Tomcat服务器_第5张图片

3.5 使用本机的Chrome验证Tomcat安装

【项目实战】基于Docker安装Tomcat服务器_第6张图片

参考地址:
https://blog.csdn.net/u011374582/article/details/82867242
https://www.cnblogs.com/jxldjsn/p/10540549.html
https://www.cnblogs.com/xiaozhang666/p/12382114.html

你可能感兴趣的:(Z,-,Inbox,docker,tomcat,服务器)