https://blog.51cto.com/13760351/2469305?source=drh
使用Docker部署war项目,必须要用容器,我们就用tomcact容器,其实都是将war包丢到tomcat的webapps目录下,tomcat启动的情况下会自动解压war包。
1.在Docker中安装tomcat容器的镜像,然后把war包丢到tomcat镜像下webapps中即可。但是如果tomcat关闭了,其webapps下的包就会消失。
2.利用挂载,还是安装tomcat容器的镜像,但是不把war包丢到tomcat下的webapps中,直接创建一个外部文件夹,将这个外部文件夹跟wabapps关联,这样把war丢到新建的文件夹中,tomcat的webapps也能读取到这个war包,这就是挂载。
1.已关闭防火墙,安全性
2.已经安装docker容器
3.宿主机centos 7系统
4.项目已打好war包
5.tomcat相关配置文件已准备好
docker search tomcat
docker pull tomcat
docker images
docker run -d -p 8088:8080 tomcat &
原因:下载的tomcat镜像有问题,容器中的webapps文件夹为空,故无法访问
尝试以下步骤:
docker ps
docker exec -it 8126cd702e4b /bin/bash #进入容器
rm -rf webapps #删除空文件webapps
mv webapps.dist webapps #更换webapps文件
docker cp admin.war 834273c974f2:/usr/local/tomcat/webapps
docker cp context.xml 834273c974f2:/usr/local/tomcat/conf
docker restart 2d9a7cdacc8b
mkdir /root/warPackage
docker run -it -v /root/warPackage/:/usr/local/tomcat/webapps/ /bin/bash
(-v (挂载) 虚拟机目录 容器目录)
宿主机查看:
cd /root/warPackage
ls
容器内查看:
docker exec -it ecf6b6baa517 /bin/bash
cd webapps
ls
docker exec -it ecf6b6baa517 /bin/bash #进入容器
cd webapps
mv webapps webapps1 #重命名,目前容器运行,无法删除,只能改名字
mv webapps.dist webapps #替换webapps文件
exit #退出容器
docker run -it -v /root/warPackage/:/usr/local/tomcat/webapps/ /bin/bash
#重新挂载