千家信息网

怎么在Docker中使用Tomcat部署一个web应用

发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,怎么在Docker中使用Tomcat部署一个web应用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先肯定是要机器中安
千家信息网最后更新 2025年12月04日怎么在Docker中使用Tomcat部署一个web应用

怎么在Docker中使用Tomcat部署一个web应用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先肯定是要机器中安装了docker,如果没安装就是用yum install -y docker 命令安装一下

yum install -y docker

既然是部署web应用,那么当然少不了Tomcat了,所以我们应该先拉取Tomcat镜像。命令如下

docker pull tomcat

这个镜像有点大,所以可以事先拉取好,节省时间。

接下来我们就用Tomcat镜像来启动一个容器

docker run -it --name webdemo -p 80:8080 tomcat /bin/bash

这里我们启动一个交互式的容器,名字是webdemo,-p 80:8080表示将容器的8080端口映射到主机的80端口,这样我们只要访问主机的80端口就可以访问到容器的服务了。


容器创建好了之后是会进入容器里面的,这时我们刚好可以看看内部的文件结构。那里有个webapps文件,我们只要把我们的web应用程序保存成war包的格式,然后再复制到这个文件中就可以了。因为Tomcat会自动帮我们解压并且部署war包。

如何将文件从主机复制到容器中?

因为我之前的终端在容器里面,这里我开启第二个终端进行操作。我的war包文件我放在/mnt/的目录下


从主机复制到容器 sudo docker cp host_path containerID:container_path

从容器复制到主机 sudo docker cp containerID:container_path host_path

我们这里用的命令是:

docker cp /mnt/webdemo.war a2f2091a661fa51e02c0be54f252fc46fc604932526b17038ccc267affcef12c:/usr/local/tomcat/webapps

其中那个长的字符串是容器的id,自己去查一下。 后面的路径是容器的内部路径,实在不懂可以复制过去,这里要注意:冒号后面没有空格,我之前有空格,一直复制不过去。

接下来就是启动Tomcat了。

war包已经导入容器中了,这个时候我们可以去第一个终端查看一下


可以看到war包已经导入了。但是这个时候Tomcat服务其实是没有启动的,下面我们就启动Tomcat服务,让Tomcat帮我们完成war包的解压和部署。


这里我们进入bin目录把目录下的catalina.sh文件run起来,这样Tomcat就跑起来了,而且Tomcat跑起来是在前端运行的,这也是我为什么打开第二个终端的原因。

最后我们可以在浏览器中查看效果:


看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

容器 文件 主机 终端 应用 命令 目录 端口 镜像 服务 接下来 就是 时候 路径 帮助 清楚 少不了 交互式 内容 冒号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全远程操控电脑 河北java软件开发建设 方舟怎么联系服务器管理员 美国数据库上市公司 运营商网络安全建设要求 深圳杰迪网络技术公司 京创智慧互联网科技有限公司 数据库同步会同步哪些数据 九江网络安全工程师网络安全 英特尔户外高亮显示屏软件开发 大学哪些专业涉及软件开发 计算机网络技术校企合作 初中生适合学习软件开发吗 四川网络安全评职称 浙江惠普服务器维修维保价格 中国银行业数据库 云呼叫服务器地址 用友t6数据库安装视频 软件开发如何算费用 百度搜索启动科技互联网发布会 谈一谈网络安全防范策略 服务器一个月赚多少钱 阿里云服务器远程界面 怎么制作数据库登入器 浙江智慧养老软件开发系统 十堰软件开发税务筹划有什么方法 新疆巴州企业数据库 有关滴滴出行的网络安全有哪些 中兴机顶盒服务器 hp服务器时间差8小时
0