Docker 部署web项目
1.查找Docker Hub上的tomcat镜像
# docker search tomcat
2.拉取官方的镜像
# docker pull tomcat
提示:Using default tag: latest
Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST]
出现这个提示的原因是因为没有指定具体的版本,如果没有指定具体版本,将会pull一个默认版本。
解决方法:
输入地址官方地址 https://hub.docker.com 搜索tomcat
然后选中Liunx,进入下图中的tomcat链接

在搜索页找到TAGS标签页

再执行如下命令:
# docker pull tomcat:8.0.21-jre8

下载完成后,查看下载的镜像
# docker images

3.运行容器
# docker run --name tomcat -p 8080:8080 -v $PWD/test:/usr/local/tomcat/webapps/test -d tomcat:8.0.21-jre8

命令说明:
-p 8080:8080:将容器的8080端口映射到主机的8080端口
-v $PWD/test:/usr/local/tomcat/webapps/test:将主机中当前目录下的test挂载到容器的/test
查看容器运行状态
# docker ps

4.在浏览器上访问tomcat首页

停止容器
# docker container stop tomcat
或
# docker container stop 7049f73db9b6
# docker container start tomcat
或
# docker container start 7049f73db9b6
备注:启动/关闭容器 首先要保证防火墙是开启状态
5.上传war包到容器
docker中也可以使用cp命令完成和宿主机的文件拷贝
# docker cp home/cms.war tomcat:/usr/local/tomcat/webapps
6.进入容器查看
通过docker exec进入容器查看刚才拷贝的war文件
docker exec -it tomcat /bin/bash

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构