docker上部署tomcat
#查看tomcat版本号:

#官方的使用
docker run -it --rm tomcat:9.0
#之前我们启动都是后台,停止了容器后,容器还可以查到,--rm 一般是用完即删除


CTRL+C 退出Tomcat容器
docker ps 查看运行的容器 没有Tomcat

docker ps -a 查看曾经运行过的容器,也没有Tomcat

#下载docker指定版本9.0: docker pull tomcat:9.0

#查看下载的镜像:docker images

#启动运行: docker run -d -p 3355:8080 --name tomcat03 tomcat:9.0
#-d 以后台方式运行
#-p 以暴露端口的方式运行,外部宿主机的3355端口映射容器内部的8080端口
#--name 指定命名

注意:tomcat:9.0 必须指定版本号9.0 否则会默认运行最新版本的tomcat,若是运行时找不到会自动到远程仓库寻找tomcat最新版本下载,并命名为指定的名字,这样原有的9.0版本再想运行,必须先通过
命令:docker stop 容器ID 停止容器,并再次执行run命令,同时通过--name将09版本命名为其他名字,才可继续运行,否则会报错。

#通过外网访问3355端口
已经可以访问了,但是报错404,这是因为官网的镜像不是一个完整的镜像

#进入Tomcat容器内部查看为何外部无法访问Tomcat: docker exec -it tomcat03 /bin/bash
测试ll命令,发现容器内并不支持该命令,不过支持ls命令

cd 进入 webapps 目录下,发现内部是空的:

就是这个原因导致的,因为没有网站,所以没有办法访问,阿里云镜像默认是最小的镜像,所以不必要的都删除。
#保证最小的可运行环境
#把webapps.dist目录下的文件都复制到webapps目录下:cp -r webapps.dist/* webapps

#进入webapps目录下查看拷贝过来的文件:

#再次访问即可成功

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构