docker结合idea快速部署项目
2022-10-31 本文已影响0人
我我我不是明
前言
平时我们想在docker环境下部署项目,一般流程都是
1、先把项目打成jar包
2、然后把jar包上传到服务器
3、自己提前编写好Dockerfile文件
4、通过docker build命令把项目打成镜像
5、最后docker run跑起来项目
经过以上的步骤,一次还好 多次发布的时候确实累人,虽然可以通过写一下xshell启动脚本,但是还是免不了自己上传jar包到服务器。于是我发现了idea工具。
第一步:idea上安装好docker插件
![](https://img.haomeiwen.com/i14298675/295d56c4e5979aaa.png)
第二步:服务器提前自己配置好docker环境
为了让idea能用插件连接上服务器的docker,需要改一下服务器的docker配置,我这里配置的是0.0.0.0就是任何人都能链接上来,测试环境可以这么用。正式还是不要这么玩。
vim /lib/systemd/system/docker.service
![](https://img.haomeiwen.com/i14298675/d4005c22a16694b6.png)
配置完成之后重启docker
systemctl daemon-reload
systemctl restart docker
第三步:idea连接上docker
3.1、填写好你自己的服务器地址,同时保证云服务器的2375端口是放开的就可以了
![](https://img.haomeiwen.com/i14298675/9b5ca03dfea0c714.png)
3.2、如果连接成功,上图里面会提示Connection successful,同时你就能看到你服务器docker环境的相关信息。
![](https://img.haomeiwen.com/i14298675/4074a73a3a240742.png)
A部分:镜像信息,和容器的所有信息
B部分:能看到日志、容器属性、容器环境、绑定的端口、还有文件夹的挂载
总而言之还是非常方便的
第四步:连接成功之后,我们来弄个demo部署上去。
4.1、首先自己创建出一个简单项目
4.2、在项目目录下编写简单的Dockerfile(与pom文件同级目录)
![](https://img.haomeiwen.com/i14298675/c4a155c612e35228.png)
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,大概就是配置下 要用哪个文件来构建呀,暴露服务端口,挂载之类的
![](https://img.haomeiwen.com/i14298675/1132f7f85e9d5660.png)
![](https://img.haomeiwen.com/i14298675/bff8ecc0a7300660.png)
![](https://img.haomeiwen.com/i14298675/461291208bb648ef.png)
5.3图的解释(图片最后一行command preview可以预览最后的运行命令)
1、名字随便起
2、在右边选择你自己编写好的Dockerfile文件
3、镜像名称,需要小写名称,不要夹杂大写
4、容器名称最好也全小写
5、暴露端口(0.0.0.0大概意思是允许谁能访问)
![](https://img.haomeiwen.com/i14298675/c4a3ea6cc2b4a23f.png)
5.6、最后配置一下maven打包
![](https://img.haomeiwen.com/i14298675/e164b69c2ba6de18.png)
![](https://img.haomeiwen.com/i14298675/8218b78728f256f1.png)
clean package -U -DskipTests
最后一步:开始启动下我们的配置文件,如果是按上述配置,会启动成功的。
![](https://img.haomeiwen.com/i14298675/6bd89c489a798504.png)
![](https://img.haomeiwen.com/i14298675/9c0bd370f1003813.png)
![](https://img.haomeiwen.com/i14298675/a44c486864e1a0a6.png)
如上图说明我们启动成功了,然后访问一个测试接口,记得云服务器打开你自己的项目端口。
![](https://img.haomeiwen.com/i14298675/3420668a6f87d856.png)