IDEA实现一键部署项目到服务器过程

 更新时间:2025年10月20日 15:45:54   作者:fanaozhe  
本文介绍了在阿里云服务器上通过开放2375端口、配置Docker及IDEA插件,实现项目打包、编写Dockerfile、构建镜像和容器,并最终通过浏览器访问部署服务的全过程

一:准备工作

1、服务器安装Docker容器(我这里使用的是阿里云,详细步骤可见我的另一篇文章

2、阿里云开放2375端口(这里我使用阿里云服务器,附详细端口开放步骤);

3、pom文件配置插件

<!--使用maven插件构建docker镜像-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.0</version>
                <executions>
                    <execution>
                        <id>default</id>
                        <!--如果package时不想用docker打包,就注释掉这个goal-->
                        <phase>package</phase>
                        <!--<goals>
                            <goal>build</goal>
                            <goal>push</goal>
                        </goals>-->
                    </execution>
                </executions>
                <configuration>
                    <!--你需要配置的地方-->
                    <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
                    <!--指定仓库名/镜像名-->
                    <repository>${docker.repository}/${docker.image.prefix}/${project.artifactId}</repository>
                    <!--指定tag -->
                    <tag>${project.version}</tag>
                    <buildArgs>
                        <!--指定参数jar-->
                        <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
                    </buildArgs>
                </configuration>
            </plugin>

二:修改配置文件,打开2375端口

vim /usr/lib/systemd/system/docker.service

在ExecStart 后面加上-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 

重新加载配置文件和启动:

systemctl daemon-reload
systemctl start docker

三:idea安装Docker插件并配置

如上图显示Connection successful,则表明idea的docker配置成功

四:idea工具clean、package项目代码

此时项目target目录下会生成项目的class文件和jar包

五:编写Dcokerfile代码

FROM openjdk:8-jdk-alpine
VOLUME tmp
ARG JAR_FILE
ADD target/*.jar app.jar
ENTRYPOINT ["java", "-jar","/app.jar"]

六:idea配置docker运行,构建镜像和容器

此时Idea底部菜单栏窗口可查看到Docker所有容器和镜像,并可进行容器和镜像的删除、启动等操作;

七:访问服务

地址栏输入 http://ip地址:端口号/,即可访问项目:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MyBatis新增数据并返回主键值方式

    MyBatis新增数据并返回主键值方式

    这篇文章主要介绍了MyBatis新增数据并返回主键值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 关于shiro中部分SpringCache失效问题的解决方法

    关于shiro中部分SpringCache失效问题的解决方法

    这篇文章主要给大家介绍了关于shiro中部分SpringCache失效问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • java 遍历Map的5种方法示例详解

    java 遍历Map的5种方法示例详解

    在 java 中,Map遍历的方式主要有for循环、迭代器 Iterator 、Lambda 表达式遍历的 forEach、Stream API 这几种方式,下面给大家介绍java 遍历Map的5种方法,感兴趣的朋友一起看看吧
    2025-06-06
  • JAVA反射机制中getClass和class对比分析

    JAVA反射机制中getClass和class对比分析

    这篇文章主要介绍了JAVA反射机制中getClass和class对比分析,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 详解java中产生死锁的原因及如何避免

    详解java中产生死锁的原因及如何避免

    这篇文章主要介绍了java中产生死锁的原因及如何避免,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • java对xml节点属性的增删改查实现方法

    java对xml节点属性的增删改查实现方法

    下面小编就为大家带来一篇java对xml节点属性的增删改查实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • 浅谈Java之终止继承:Final类和Fianl方法

    浅谈Java之终止继承:Final类和Fianl方法

    这篇文章主要介绍了Java之终止继承:Final类和Fianl方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • JAVA微信扫码支付模式二线上支付功能实现以及回调

    JAVA微信扫码支付模式二线上支付功能实现以及回调

    本篇文章主要介绍了JAVA微信扫码支付模式二线上支付功能实现以及回调,这里整理了详细的代码,有需要的小伙伴可以参考下。
    2016-11-11
  • java枚举enum,根据value值获取key键的操作

    java枚举enum,根据value值获取key键的操作

    这篇文章主要介绍了java枚举enum,根据value值获取key键的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Mybatis中 XML配置详解

    Mybatis中 XML配置详解

    这篇文章主要介绍了Mybatis中 XML配置详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01

最新评论