【记录】首次使用idea的Docker插件远程部署war包

  1. 在服务器(Centos7)上安装docker,我基本上是照着这篇文章操作的:
    CentOS 安装Docker

  2. 开启docker的远程访问,参照的还是这位大佬的文章:
    Docker开启远程访问(CentOS系统)

  3. 配置idea的docker插件,参照的依旧是这位大佬的文章:
    idea使用docker插件

    但是这里遇到问题了,因为我用来测试的项目是打成war包发布的,所以教程后面部分我不能跟着做,于是我又去找教程。。。
    然后找到了这个
    idea远程部署war到docker
    因为博文太过于简单,为防止我下次继续踩坑,所以把原文复制过来补充一下。

1、拉取tomcat镜像到本地(我用的是8.5.31)

sudo docker pull tomcat:8.5.31:jre-8

2、基于Dockerfile创建镜像文件
dockerfile可以帮助我们创建自定义的镜像,本文比较简单直接基于tomcat镜像。 新建Dockerfile文件放在项目根目录,打包后的war文件位于根目录/target/xxx.war

注意:项目打包要用mvn package命令,而不是mvn war:war,在这里我踩了个坑

#基础镜像
FROM tomcat:8.5.31-jre8                                  
#作者信息
MAINTAINER tom [email protected]               
#定义变量、后续会使用,具体路径可以先启动容器然后进入进行查看
ENV DIR_WEBAPP /usr/local/tomcat/webapps/                
#删除webapp下所有文件,因为当前应用作为根应用
RUN  rm -rf $DIR_WEBAPP/*
#添加本地的war包到远程容器中
ADD ./target/xxx.war $DIR_WEBAPP/ROOT.war
#配置文件夹映射
VOLUME /usr/local/tomcat/webapps
#配置工作目录
WORKDIR /usr/local/tomcat/webapps
#解压war包到ROOT目录
RUN unzip $DIR_WEBAPP/ROOT.war -d $DIR_WEBAPP/ROOT/
#暴露端口
EXPOSE 6375
#启动tomcat
CMD ["catalina.sh", "run"]

3、idea下载docker插件
【记录】首次使用idea的Docker插件远程部署war包_第1张图片
4、配置docker插件链接远程Dcoker
【记录】首次使用idea的Docker插件远程部署war包_第2张图片
注意:这里的ip是指你的服务器ip,port是指docker.service配置的端口号。

5、创建docker服务并启动
【记录】首次使用idea的Docker插件远程部署war包_第3张图片
这里的端口映射我是这么配的【记录】首次使用idea的Docker插件远程部署war包_第4张图片
注意:此处未修改Tomcat默认的端口,故映射的还是8080的端口

开始运行:
【记录】首次使用idea的Docker插件远程部署war包_第5张图片
【记录】首次使用idea的Docker插件远程部署war包_第6张图片
等待启动成功后,访问你的服务器ip:6375就能访问到部署上去的这个项目了
【记录】首次使用idea的Docker插件远程部署war包_第7张图片
注意:因为Dockerfile中在上传war包的时候,把项目名改成了ROOT.war,所以访问的时候不需要带项目名,如果没改的话就要带上。

踩的比较恶心的坑就是maven打包,我一开始是这样打包的:
【记录】首次使用idea的Docker插件远程部署war包_第8张图片
虽然打出来的也是war包,但是放到tomcat启动的时候,不会启动项目,导致404,我是小白,所以也不知道是什么原因,知道的大佬可以评论留言指教一番。

最后就mvn clean package打包出来war就可以正常启动了。

你可能感兴趣的:(【记录】首次使用idea的Docker插件远程部署war包)