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地址:端口号/,即可访问项目:

总结

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

相关文章

  • 快速上手Java中的Properties集合类

    快速上手Java中的Properties集合类

    java.util.Properties集合继承于Hashtable,来表示一个持久的属性集,他使用键值结构存储数据,每个键及其对应的值都是一个字符串,该类被许多java类使用,下面这篇文章主要给大家介绍了关于如何快速上手Java中Properties集合类的相关资料,需要的朋友可以参考下
    2023-02-02
  • java利用POI读取excel文件的方法

    java利用POI读取excel文件的方法

    这篇文章主要介绍了java利用POI读取excel文件的方法,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-12-12
  • 一文搞懂Java常见的三种代理模式(静态代理、动态代理和cglib代理)

    一文搞懂Java常见的三种代理模式(静态代理、动态代理和cglib代理)

    Java中常见的三种代理模式是静态代理模式、动态代理模式和CGLIB代理模式,本文就来给大家详细的讲解一下这三种代理模式,感兴趣的小伙伴跟着小编一起来看看吧
    2023-08-08
  • MybatisPlus修改时空字段无法修改的解决方案

    MybatisPlus修改时空字段无法修改的解决方案

    这篇文章主要介绍了MybatisPlus修改时空字段无法修改的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • springboot应用中静态资源访问与接口请求冲突问题解决

    springboot应用中静态资源访问与接口请求冲突问题解决

    这篇文章主要介绍了springboot应用中静态资源访问与接口请求冲突,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Windows下如何安装配置Redis环境

    Windows下如何安装配置Redis环境

    这篇文章主要介绍了Windows下如何安装配置Redis环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • springboot+redis自定义注解实现发布订阅的实现代码

    springboot+redis自定义注解实现发布订阅的实现代码

    在Redis中客户端可以通过订阅特定的频道来接收发送至该频道的消息,本文主要介绍了springboot+redis自定义注解实现发布订阅,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • springboot的异步任务:无返回值和有返回值问题

    springboot的异步任务:无返回值和有返回值问题

    这篇文章主要介绍了springboot的异步任务:无返回值和有返回值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java中三种简单注解介绍和代码实例

    Java中三种简单注解介绍和代码实例

    这篇文章主要介绍了Java中三种简单注解介绍和代码实例,本文讲解了Override注解、Deprecated注解、Suppresswarnings注解、元注解等内容,需要的朋友可以参考下
    2014-09-09
  • Spring-AOP @AspectJ切点函数之@annotation()用法

    Spring-AOP @AspectJ切点函数之@annotation()用法

    这篇文章主要介绍了Spring-AOP @AspectJ切点函数之@annotation()用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论