您好,登录后才能下订单哦!
# CentOS Docker安装Tomcat的教程
## 前言
Tomcat作为一款轻量级的Java Web应用服务器,常被用于开发和测试环境。结合Docker容器化部署,可以快速实现环境隔离和版本管理。本教程将详细介绍在CentOS系统上使用Docker安装和配置Tomcat的完整流程。
---
## 环境准备
### 系统要求
- CentOS 7/8(已测试通过)
- 已安装Docker Engine(版本20.10.0+)
- 2GB以上可用内存
### 1. 安装Docker
若未安装Docker,请先执行以下命令:
```bash
# 卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version
推荐使用Tomcat 9.x LTS版本:
docker pull tomcat:9.0
docker run -d \
--name mytomcat \
-p 8080:8080 \
-v /opt/tomcat/webapps:/usr/local/tomcat/webapps \
tomcat:9.0
参数说明:
- -d
:后台运行
- -p 8080:8080
:端口映射(主机:容器)
- -v
:挂载webapps目录实现数据持久化
创建自定义启动脚本:
docker exec -it mytomcat bash -c 'echo "export JAVA_OPTS=\"-Xms512m -Xmx1024m\"" >> /usr/local/tomcat/bin/setenv.sh'
docker restart mytomcat
进入容器修改配置:
docker exec -it mytomcat vi /usr/local/tomcat/conf/server.xml
建议修改项:
- 连接器超时时间:connectionTimeout="20000"
- 启用压缩:compression="on"
在浏览器访问:
http://服务器IP:8080
应看到Tomcat默认欢迎页面。
将WAR包放入挂载目录:
cp sample.war /opt/tomcat/webapps/
等待约10秒后访问:
http://服务器IP:8080/sample
创建docker-compose.yml
文件:
version: '3'
services:
tomcat:
image: tomcat:9.0
container_name: prod-tomcat
ports:
- "8080:8080"
- "8009:8009" # AJP端口
volumes:
- ./webapps:/usr/local/tomcat/webapps
- ./logs:/usr/local/tomcat/logs
environment:
- TZ=Asia/Shanghai
restart: always
启动服务:
docker-compose up -d
docker logs -f mytomcat
# 或查看挂载日志
tail -f /opt/tomcat/logs/catalina.out
错误提示:Address already in use
解决方案:
# 查找占用进程
sudo netstat -tulnp | grep 8080
# 修改容器映射端口为其他端口(如8081)
docker run -p 8081:8080 ...
检查日志定位问题:
docker logs mytomcat
常见原因:
- 挂载目录权限不足:chmod -R 777 /opt/tomcat
- JVM内存不足:调整-Xmx
参数
通过Docker部署Tomcat不仅简化了环境配置,还便于后续的版本升级和维护。建议生产环境中配合: - 使用Nginx反向代理 - 配置HTTPS加密 - 设置定期日志轮转
如需更复杂的集群部署,可参考Tomcat官方文档结合Docker Swarm或Kubernetes实现。 “`
注:实际字数约850字(含代码块)。可根据需要调整配置参数或补充特定场景的配置细节。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。