前言
平时我们想在docker环境下部署项目,一般流程都是
1、先把项目打成jar包
2、然后把jar包上传到服务器
3、自己提前编写好Dockerfile文件
4、通过docker build命令把项目打成镜像
5、最后docker run跑起来项目
经过以上的步骤,一次还好 多次发布的时候确实累人,虽然可以通过写一下xshell启动脚本,但是还是免不了自己上传jar包到服务器。于是我发现了idea工具。
第一步:idea上安装好docker插件
第二步:服务器提前自己配置好docker环境
为了让idea能用插件连接上服务器的docker,需要改一下服务器的docker配置,我这里配置的是0.0.0.0就是任何人都能链接上来,测试环境可以这么用。正式还是不要这么玩。
vim /lib/systemd/system/docker.service
配置完成之后重启docker
systemctl daemon-reload
systemctl restart docker
第三步:idea连接上docker
3.1、填写好你自己的服务器地址,同时保证云服务器的2375端口是放开的就可以了
3.2、如果连接成功,上图里面会提示Connection successful,同时你就能看到你服务器docker环境的相关信息。
A部分:镜像信息,和容器的所有信息
B部分:能看到日志、容器属性、容器环境、绑定的端口、还有文件夹的挂载
总而言之还是非常方便的
第四步:连接成功之后,我们来弄个demo部署上去。
4.1、首先自己创建出一个简单项目
4.2、在项目目录下编写简单的Dockerfile(与pom文件同级目录)
Dockerfile内容如下
### JDK8环境,使用alpine操作系统,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9
#作者
MAINTAINER wbm<672028620@qq.com>
#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
#声明一下挂载文件夹,我这里用不上 写不写都可以
VOLUME /tmp
#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/*.jar app.jar
#启动容器最后执行命令
ENTRYPOINT ["java","-jar","/app.jar"]
#暴露8888端口
EXPOSE 8888
第五步:idea上配置下Dockerfile,大概就是配置下 要用哪个文件来构建呀,暴露服务端口,挂载之类的
5.3图的解释(图片最后一行command preview可以预览最后的运行命令)
1、名字随便起
2、在右边选择你自己编写好的Dockerfile文件
3、镜像名称,需要小写名称,不要夹杂大写
4、容器名称最好也全小写
5、暴露端口(0.0.0.0大概意思是允许谁能访问)
5.6、最后配置一下maven打包
clean package -U -DskipTests