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目录下查看拷贝过来的文件:
#再次访问即可成功
 

 

 

 
 
posted @   小白成长记-yan  阅读(390)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示