提升10倍生产力: IDEA集成Docker一键部署Spring Boot项目(war包部署)

1、准备工作

1.1 在远程CentOS服务器上已经安装好了docker。

可以参考:
1. 官方手册:https://docs.docker.com/install/
2. 我的笔记:手把手教你在Centos 7上安装和使用Docker

1.2 配置docker远程连接端口
#1.修改docker配置文件
vim /usr/lib/systemd/system/docker.service

----------------------------------------------------
#centos设置:
在原有的ExecStart设置后面添加: -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 
#Ubunt设置:
在原有的ExecStart设置后面添加:-H fd:// -H tcp://0.0.0.0:2375

-----------------------------------------------------
#2. 重启docker让配置生效
systemctl daemon-reload
systemctl restart/start docker

#3.检测2375端口是否处于监听
netstat -na|grep 2375或者netstat -anp|grep 2375  //出现下图的结果说明开启成功

图1.2.1 2375端口正在监听

注意:在实际生产环境中千万不能这么干,这么干分分钟你的机器就会被肉鸡~~~

1.3 Idea安装docker插件,重启

在比较新的IDEA中是默认安装Docker插件的,只需要点击File->Settings->Build, Execution, Deployment->Docker,如果发现有Docker,那就可以直接进入下一步;如果是比较老的IDEA版本可以在IDEA的插件安装中搜索docker,安装并重启装即可使用!


图1.3.1 安装Docker插件
1.4 idea连接远程Docker

上面的一切操作都没毛病后,接下来还是依次点击File->Settings->Build, Execution, Deployment->Docker打开docker,配置远程主机的连接信息:填写Name,选择tcp socket填写Engine API URL,填好后会自动连接,连接成功会提示Connection successful,如图:


图1.4.1 配置docker连接信息

注意:这一步如果是在远程云服务器上操作时,请注意还要在安全组中开启2375端口

连接成功后点击Apply->OK,之后IDEA就会在界面的下方菜单栏把docker服务列出来,我们双击就可以连接上docker,并操作管理docker。


图1.4.2 双击连接docker

2、准备项目

这个没啥好说的,并且也不是本文的重点,此处不再赘述。

3、配置Dockerfile文件

3.1 Dockerfile文件的配置

接下来在我们项目的根目录下新建一个取名为Dockerfile的文件,用于构建镜像:


图3.1 新建Dockerfile文件
**文件内容如下**:
#基础镜像tomcat
FROM tomcat:latest
#维护者信息
MAINTAINER huangxin981230@163.com
#定义 变量
ENV Tomcat_Home /usr/local/tomcat
ENV WEBAPP $Tomcat_Home/webapps
#删除容器内webapps下的所有东西
RUN rm -rf $WEBAPP/*
#把本地war包添加进来作为根应用
ADD ./target/easyblog-beat.war $WEBAPP/ROOT.war
#配置文件夹映射
VOLUME $Tomcat_Home/webapps
#配置工作目录
WORKDIR $Tomcat_Home/webapps
#解压war包到ROOT目录
RUN unzip $WEBAPP/ROOT.war -d $WEBAPP/ROOT.war
# 暴露80端口
EXPOSE 80
#启动容器
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
3.2 执行Dockerfile文件生成镜像

在IDEA的右上方的Run/Debug Configurations中做如下配置:


图 3.2.1 配置执行Dockerfile文件

配置好后使用mvn clean package -Dmaven.test.skip=true命令打包项目,然后再点击运行刚才配置的Dockerfile文件:如图所示:


图 3.2.2 运行按钮
运行日志:

图 3.2.3 运行日志截图(部分)
运行成功后就会生成目标镜像并上传到目标服务器中:

图 3.2.3 成功构建镜像

4、启动应用


图4.1 创建镜像

之后配置镜像启的参数:镜像ID、容器名、端口映射、是否后台启动……。这里由于我的项目中使用到了redis和mysql,因此需要使用--link来实现docker容器内通信


图 4.2 配置启动参数
点击Run之后就会看到下面的画面:

图 4.3 启动成功

浏览器中访问121.36.49.86/user/loginPage,来到我项目的登录页面,docker和IDEA集成使用成功!此后发布项目将会变得非常简单快捷,而且借助于强大的Docker可以做到持续集成和弹性扩容!

图 4.4 浏览器访问项目登录页面

留言区

还能输入500个字符