最近有个项目需要部署在外网服务器进行演示,给的资料只有一个项目var包,所以就打算把var包用docker安装tomcat8.0,然后将var包拷贝到tomcat容器下的webapps里面。可能会有童鞋觉得linux直接安装tomcat部署项目不香么,有啥可折腾的,但是钢铁直男就喜欢用docker部署项目。废话不多讲,直接开搞。
服务器是最新的的center os 8.4 64位 ,var包应该是基于jdk8开发的。
一、安装docker
sudo yum install docker-engine
遇到docker安装不上的问题可参考 快点我,
安装完一定要记得启动docker,启动命令如下
service docker start
也可以设置为自启(服务器重启后跟随系统一起启动),自启命令如下
sudo systemctl enable docker
二、安装jdk8
docker pull java:8
三、安装tomcat8.0
docker pull tomcat:8.5.72
安装完成后新建一个容器瞅瞅
docker run --name mytomcat -p 8080:8080 -d tomcat:8.5.72
启动成功后访问8080端口页面,显示404报错信息,是不是想砸键盘了,别急,docker下载下来的镜像里面的webapps是空的,所以出现404是正常的,查看容器下就知道了
docker exec -it mytomcat /bin/bash
发现webapps目录下是空,按理说,这里面应该是有一些默认配置的,查阅相关资料,发现docker tomcat 默认webapps里面是没有任何东西,如果里面的默认配置,我们可以这样做:
在此目录中还有一个webapps.dist 文件夹,这里面装载的就是我们tomcat默认资源文件,所有我们将webapps.dist里面的文件全部复制到webapps目录即可。
cp -r webapps.dist/. webapps
退出tomcat容器
exit
然后,刷新网页,即可看到正常的tomcat默认页面。
四、拷贝var包至tomcat容器webapp中
docker cp /mydata/tomcat/webapps/xxx.war mytomcat:/usr/local/tomcat/webapps
然后重启容器
docker restart mytomcat
项目就可以正常访问了。