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 配置启动参数

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