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目录下查看拷贝过来的文件:

#再次访问即可成功
