十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
怎么在Docker中使用Tomcat部署一个web应用?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
我们拥有10余年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都网站建设、做网站、微信开发、微信小程序、移动网站建设、html5、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。首先肯定是要机器中安装了docker,如果没安装就是用yum install -y docker 命令安装一下
yum install -y docker
既然是部署web应用,那么当然少不了Tomcat了,所以我们应该先拉取Tomcat镜像。命令如下
docker pull tomcat
这个镜像有点大,所以可以事先拉取好,节省时间。
接下来我们就用Tomcat镜像来启动一个容器
docker run -it --name webdemo -p 80:8080 tomcat /bin/bash
这里我们启动一个交互式的容器,名字是webdemo,-p 80:8080表示将容器的8080端口映射到主机的80端口,这样我们只要访问主机的80端口就可以访问到容器的服务了。
容器创建好了之后是会进入容器里面的,这时我们刚好可以看看内部的文件结构。那里有个webapps文件,我们只要把我们的web应用程序保存成war包的格式,然后再复制到这个文件中就可以了。因为Tomcat会自动帮我们解压并且部署war包。
如何将文件从主机复制到容器中?
因为我之前的终端在容器里面,这里我开启第二个终端进行操作。我的war包文件我放在/mnt/的目录下
从主机复制到容器 sudo docker cp host_path containerID:container_path
从容器复制到主机 sudo docker cp containerID:container_path host_path
我们这里用的命令是:
docker cp /mnt/webdemo.war a2f2091a661fa51e02c0be54f252fc46fc604932526b17038ccc267affcef12c:/usr/local/tomcat/webapps
其中那个长的字符串是容器的id,自己去查一下。 后面的路径是容器的内部路径,实在不懂可以复制过去,这里要注意:冒号后面没有空格,我之前有空格,一直复制不过去。
接下来就是启动Tomcat了。
war包已经导入容器中了,这个时候我们可以去第一个终端查看一下
可以看到war包已经导入了。但是这个时候Tomcat服务其实是没有启动的,下面我们就启动Tomcat服务,让Tomcat帮我们完成war包的解压和部署。
这里我们进入bin目录把目录下的catalina.sh文件run起来,这样Tomcat就跑起来了,而且Tomcat跑起来是在前端运行的,这也是我为什么打开第二个终端的原因。
最后我们可以在浏览器中查看效果:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。