Docker 安装 tomcat

Docker 安装 tomcat

主要有两种方式来安装tomcat镜像,一种是在dockerhub中下载,另一种方式是先自己制作tomcat镜像,然后在在docker中运行tomcat镜像,本文为了简单处理采用dockerhub下载的tomcat镜像。

1、安装步骤

1.1、搜索tomcat镜像

$ docker search tomcat

通过上述命令查找tomcat镜像,选择Apache的tomcat,一般搜索到的结果,Apache tomcat是排在第一个的。而后可以进行安装。

1.2、安装tomcat镜像

$ docker pull tomcat

1.3、查看安装的tomcat镜像

$ docker images

该命令回列出已经安装的tomcat镜像。

1.4、启动tomcat容器

$ docker run --name tomcat-test -d -p 8080:8080 tomcat

说明:

-d 表示后台运行,并返回后台容器,

-p 表示端口号,前一个8080是指我们访问tomcat时的端口号,

后一个8080是tomcat启动的一个容器在docker中运行的端口号, 指定端口号为了更明确的访问tomcat。

2、解决404

启动之后浏览器输入 192.168.44.130:8080 发现页面输出404,这就有点纳闷了,在其他人的博客中找到了解决方法。

2.1、进入 tomcat 容器查看文件

# 进入tomcat,0be1774e1e5e为容器ID
docker exec -it 0be1774e1e5e /bin/bash
# 以列表形式查看文件
ls -l

2.2、webapps、webapps.dist 文件夹

查看 webapps 文件夹,发现文件夹里没有东西,查看 webapps.dist 文件夹,发现文件在里面,因此删除原有的 webapps 文件夹, webapps.dist 文件夹重命名为 webapps。

# 进入webapps 
cd webapps
# 发现没有文件
ls -l
# 进入webapps.dist
cd webapps.dist
# 存在examples文件
ls -l
# 删除webapps
rm -r webapps
# 重命名
mv webapps.dist webapp
# 退出
exit

再次访问 192.168.44.130:8080 ,页面访问成功。

3、容器文件映射到本地目录(挂载)

点击了解挂载

拷贝容器内 tomcat 配置文件和日志到本地准备映射

docker cp tomcat-test:/usr/local/tomcat/conf /root/tomcat/conf
docker cp tomcat-test:/usr/local/tomcat/logs /root/tomcat/logs
docker cp tomcat-test:/usr/local/tomcat/webapps /root/tomcat/webapps

停止tomcat,并删除容器

docker stop tomcat-test
docker rm tomcat-test

创建并运行tomcat容器

docker run -d -p 8081:8080 --name tomcat-test1 -v /root/tomcat/webapps:/usr/local/tomcat/webapps -v /root/tomcat/conf:/usr/local/tomcat/conf -v /root/tomcat/logs:/usr/local/tomcat/logs tomcat

此时如果浏览器访问404, 则需要再次进入 tomcat 容器:

docker exec -it tomcat-test1 /bin/bash

删除 webapps 文件夹,并重命名 webapps.dist 为 webapps:

rm -r webapps
mv webapps.dist webapps

访问浏览器如下:

image-20210702172632937

参考资料:

https://www.cnblogs.com/xiaozhang666/p/12382114.html

https://blog.csdn.net/qq_26709459/article/details/80475068

https://www.jb51.net/article/205934.htm

自我控制是最强者的本能-萧伯纳
原文地址:https://www.cnblogs.com/CF1314/p/14984775.html