首先我们要去下载Tomcat的镜像,因为镜像本身就是一个简化的操作系统。一般来说你下一个镜像不用去里面设置环境变量,所谓的开箱即用。
搜索tomcat镜像
首先第一步搜索镜像
docker search tomcat
下载指定版本的tomcat
实际上tomcat有很多版本,有的时候可能项目中用的不是最新,是指定的某个旧的版本,我们可以指定版本下载
docker pull tomcat:9.0
运行tomcat
运行tomcat镜像(要开放端口不管你安全组还是防火墙要把端口暴露出来)
docker run -d -p 8000:8080 --name tomcat01 tomcat
这里我指定了我宿主机开放出来的端口8000
验证tomcat是否可以运行
查询问题报错404
发现在浏览网页还是在宿主机用curl命令查询都是报错404,哪里来说应该跳出的是tomcat启动页。而且端口映射也做了,映射的接口也在防火墙那边放了出来。
实际这个镜像是开箱即用,环境什么的也设置好了,你进入容器里面也能搜到JDK这些,哪里来说直接可以用,问题出在哪?
如何解决
实际上是由于tomcat的镜像,为了尽可能的小精简,做了些删除,除了一些linux工具命令没有安装,tomcat里面的webapps里面也是空的,你访问一个空的webapps目录,自然是找不到资源404。
当然实际上镜像里面也给你预备了对应资源demo文件,只不过是压缩的,叫做webapps.dist
你可以把这里面的东西拷贝到webapps里面,也可以删除点webapps,然后重命名webpass.dist为webapps都可以。
我这里是拷贝的
cp webapps.dist/* webapps
然后退出容器,查看容器状态,再刷新页面,熟悉的tomcat页面出来了,说明我们的docker部署tomcat也成功了。