😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: 与Docker同行:Tomcat安装指南
⏱️ @ 创作时间: 2023年08月14日
目录
- 1、安装一个简易tomcat
- 1.1、拉取tomcat
- 1.2、创建tomcat容器
- 1.3、访问tomcat
- 1.4、日志查询
- 1.5、修改时区
- 2、tomcat挂载
- 2.1、创建挂载目录
- 2.2、拷贝docker资源
- 2.3、挂载启动
- 2.4、访问测试
- 2.5、挂载验证
- 2.6、修改时区
1、安装一个简易tomcat
1.1、拉取tomcat
# 安装最新版
docker pull tomcat
# version为指定的版本
docker pull tomcat:version
1.2、创建tomcat容器
docker run --name tomcat_test -p 9090:8080 -d tomcat
#--name tomcat_test: tocmat容器名称 自定义
#-p:9090:8080: 端口映射 9090任意,8080为默认端口
#-d:后台运行
通过
docker ps
查看运行状态,可以看到刚才创建的tomcat已经运行了,并且端口映射为9090,名称也为tomcat_test
1.3、访问tomcat
直接在地址输入 IP+9090即可查看,如果无法访问,则需要等Tomcat成功启动,或者查看日志是否报错
对于高版本的tomcat,webapps文件为空,被webapps.dist所取代,直接访问会出现404
解决方法如下:
- 进入容器
docker exec -it tomcat_test bash
- 进入tomcat目录
cd /usr/local/tomcat/
- 删除webapps
rm webapps -rf
- 将webapps.dist复制为webapps
cp webapps.dist webapps -r
1.4、日志查询
#动态查看日志
docker logs -f tomcat_test
1.5、修改时区
默认情况下,tomcat中的时间比“北京”时间少8小时,需要进行手动时间校正
#进入容器
docker exec -it tomcat_test bash
#执行命令
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone
2、tomcat挂载
2.1、创建挂载目录
mkdir /usr/local/tomcat -p
2.2、拷贝docker资源
# 从容器中复制webapps.dist(低版本叫webapps)
# /usr/local/tomcat/webapps.dist 为docker中容器的目录
# /usr/local/tomcat/webapps 为宿主机的目录
docker cp tomcat_test:/usr/local/tomcat/webapps.dist/ /usr/local/tomcat/webapps
#查看目录
cd /usr/local/tomcat/webapps
ll
2.3、挂载启动
启动挂载容器前,需要先关闭并且删除原有的容器
docker stop tomcat_test
docker rm tomcat_test
启动挂载容器
# -v表示挂载,前面的目录为宿主机目录结构,后面的目录为容器中的目录结构
docker run --name tomcat_test \
-p 9090:8080 \
-v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps \
-d tomcat
2.4、访问测试
2.5、挂载验证
为了验证挂载文件是否生效,可以进入在宿主机器下建立的文件的ROOT目录,并且修改tomcat “欢迎页”的代码;
- 进入宿主机挂载ROOT目录
cd /usr/local/tomcat/webapps/ROOT
- 修改index.jsp
修改见图:vim index.jsp
- 再次访问Tomcat
2.6、修改时区
默认情况下,tomcat中的时间比“北京”时间少8小时,需要进行手动时间校正
#进入容器
docker exec -it tomcat_test bash
#执行命令
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "Asia/Shanghai" > /etc/timezone