远程拉取war文件,并启动tomcat,linux命令

本文介绍了一种部署Java应用程序的具体步骤,包括使用svn更新代码、复制并覆盖文件、启动与停止应用服务器、查看日志等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ssh root@10.0.11.58 “cd /home/project/qa/sql/project_war
svn up
exit”;
scp -r root@10.0.11.58:/home/source/project_war/* /home/source/
cp /home/source/project.war /home/srv/application/jboss-5.1.0.GA/server/default/deploy/
ps -ef|grep jboss|grep -v grep|awk ‘{print “sudo kill -9 ” $2}’|sh
service jboss start
tail -f /log/111.log

ssh root@10.0.11.58 “cd /home/project/qa/sql/project_war
svn up
exit”;
scp -r weixin@10.0.11.58:/home/project/qa/sql/project_war/* /home/source/
cp /home/source/project.war /home/src/application/tomcat/webapps/
ps -ef|grep tomcat|grep -v grep|awk ‘{print “sudo kill -9 ” $2}’|sh
sh /home/brc/application/tomcat/bin/startup.sh
tail -f /home/brc/application/tomcat/logs/catalina.out

<think>我们参考用户的需求:使用DockerTomcat镜像,创建容器,访问欢迎页,打包部署运行Java Web项目。 根据引用内容,我们可以整理出以下步骤: 1. Tomcat镜像 2. 创建运行Tomcat容器 3. 访问Tomcat欢迎页(验证容器运行) 4. 将Java Web项目打包成war文件 5. 将war文件复制到正在运行的Tomcat容器的webapps目录下 6. 重启容器,使Tomcat自动解压war部署 7. 访问部署的项目 注意:用户可能使用不同的操作系统,但Docker命令基本相同。这里以Linux(CentOS)为例,同时也会提到Windows下的注意事项(根据引用[2])。 步骤详细说明: 1. Tomcat镜像 使用命令:`docker pull tomcat`,默认最新版本。如果需要指定版本,可以在后面加上版本号,如`docker pull tomcat:9.0`。 2. 创建运行Tomcat容器 命令:`docker run -d -p 8080:8080 --name my_tomcat tomcat` 解释: -d: 后台运行 -p 8080:8080: 将宿主机的8080端口映射到容器的8080端口(如果宿主机8080被占用,可以改为其他端口,如8888:8080) --name my_tomcat: 给容器起名为my_tomcat tomcat: 使用的镜像 注意:在Windows下,如果使用Docker Desktop,命令相同。 3. 访问Tomcat欢迎页 在浏览器中访问:http://宿主机IP:8080 如果是在本地机器上,可以使用localhost或127.0.0.1;如果是远程服务器,则使用服务器IP。 注意:根据引用[3],有时候Tomcat镜像可能是精简版,欢迎页可能不在webapps目录下,而在webapps.dist目录下。如果访问出现404,可以进入容器将webapps.dist重命名为webapps(或者复制内容到webapps): docker exec -it my_tomcat /bin/bash cp -r webapps.dist/* webapps 然后退出容器重启容器:docker restart my_tomcat 4. 打包Java Web项目 在开发环境中,将项目导出为war文件(例如project.war)。可以使用IDE的导出功能(如Eclipse的Export -> WAR file)或使用Maven(mvn package)生成。 5. 将war文件复制到Tomcat容器中 使用命令:`docker cp /path/to/project.war my_tomcat:/usr/local/tomcat/webapps` 其中: /path/to/project.war: 宿主机上war文件的路径 my_tomcat: 容器名称(或容器ID) /usr/local/tomcat/webapps: 容器内Tomcat的webapps目录 6. 重启容器 `docker restart my_tomcat` 重启后,Tomcat会自动解压war文件,生成一个与项目名同名的文件夹(例如project)。 7. 访问部署的项目 在浏览器中访问:http://宿主机IP:8080/project/(注意:project对应你的war文件名,如果war文件名为ROOT.war,则直接访问根路径) 另外,引用[2]中提到了一种在容器内创建目录放置静态页面的方法,但这里我们主要关注动态Web项目(war部署)。 优化建议: - 为了避免每次部署都要复制war文件,可以将宿主机的一个目录挂载到容器的webapps目录(但注意挂载会覆盖容器内原有内容,所以需要先将容器内的webapps内容复制到宿主机目录,或者使用数据卷容器)。 - 使用Dockerfile构建自定义镜像,将war文件直接打包进镜像(引用[3]提到Dockerfile打包镜像)。 下面我们提供两种部署方式: 方式一:通过docker cp命令(如上所述,适合开发测试快速部署) 方式二:通过Dockerfile构建包含项目的镜像(适合生产环境) 方式二步骤: 1. 编写Dockerfile,内容如下: ```dockerfile FROM tomcat:latest COPY project.war /usr/local/tomcat/webapps/ ``` 将project.war放在Dockerfile同一目录下。 2. 构建镜像:`docker build -t my_tomcat_app .` 3. 运行容器:`docker run -d -p 8080:8080 --name my_app_container my_tomcat_app` 4. 访问同上。 根据用户需求,我们主要演示方式一(动态部署),因为用户要求“打包部署运行Java Web项目”,且希望动态部署。 现在,我们按照步骤进行详细说明,注意操作中的细节。 注意:在Windows下使用Docker时,路径可能需要使用绝对路径(且注意Windows路径与Linux路径的差异,在Docker命令中建议使用Linux风格的路径,但实际在Windows中执行docker cp命令时,需要根据Windows的路径写法,如`docker cp C:\path\to\project.war my_tomcat:/usr/local/tomcat/webapps`) 下面我们开始逐步操作:</think>### Docker部署Tomcat容器与Java Web项目指南 #### 1. Tomcat镜像 ```bash docker pull tomcat:latest # 最新版Tomcat镜像 docker images # 验证镜像下载成功 ``` Tomcat官方镜像仓库地址:https://hub.docker.com/_/tomcat[^4] #### 2. 创建运行容器 ```bash # 基础运行命令(端口映射) docker run -d --name my_tomcat -p 8080:8080 tomcat # 推荐带目录挂载的启动方式: docker run -d \ --name my_tomcat \ -p 8080:8080 \ -v /宿主机目录/webapps:/usr/local/tomcat/webapps \ -v /宿主机目录/logs:/usr/local/tomcat/logs \ tomcat ``` **参数说明**: - `-d`:后台运行 - `-p 8080:8080`:宿主机端口:容器端口映射 - `-v`:目录挂载(避免容器删除导致数据丢失)[^2] #### 3. 访问Tomcat欢迎页 1. 检查容器运行状态: ```bash docker ps -a | grep my_tomcat ``` 2. 浏览器访问: ``` http://服务器IP:8080 ``` **注意**:新版Tomcat镜像可能需执行: ```bash docker exec my_tomcat cp -r webapps.dist/* webapps # 修复欢迎页缺失问题[^3] ``` #### 4. 部署Java Web项目 **方法1:直接复制WAR文件(动态部署)** ```bash # 将本地WAR文件复制到容器 docker cp /path/to/project.war my_tomcat:/usr/local/tomcat/webapps # 重启容器生效 docker restart my_tomcat ``` *Tomcat会自动解压WAR文件,访问路径:`http://IP:8080/project`*[^1] **方法2:挂载目录部署(推荐)** 1. 将WAR文件放入宿主机挂载目录: ```bash cp project.war /宿主机目录/webapps/ ``` 2. 自动生效(无需重启容器) **方法3:Dockerfile构建自定义镜像** ```dockerfile FROM tomcat COPY project.war /usr/local/tomcat/webapps/ EXPOSE 8080 CMD ["catalina.sh", "run"] ``` 构建命令: ```bash docker build -t custom_tomcat . docker run -d -p 8080:8080 custom_tomcat ``` #### 5. 验证项目访问 - 静态页面:`http://IP:8080/web_demo/index.html`[^2] - 动态项目:`http://IP:8080/project/your-page.jsp` - 查看日志: ```bash docker logs -f my_tomcat # 实时查看Tomcat日志 ``` #### 6. 常用管理命令 ```bash # 进入容器调试 docker exec -it my_tomcat /bin/bash # 查看容器资源使用 docker stats my_tomcat # 停止/删除容器 docker stop my_tomcat && docker rm my_tomcat ``` ### 常见问题解决 1. **访问404错误**: - 检查端口映射:`docker inspect my_tomcat | grep HostPort` - 验证WAR位置:容器内`/usr/local/tomcat/webapps`应有解压目录 - 检查防火墙:`sudo ufw allow 8080` 2. **性能优化建议**: ```bash # 启动时添加JVM参数 docker run -d -e JAVA_OPTS="-Xms512m -Xmx1024m" ... ``` 3. **多容器部署**: ```bash # 启动第二个实例(不同端口) docker run -d --name tomcat2 -p 8081:8080 tomcat ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wolf犭良

谢谢您的阅读与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值