欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

idea使用docker插件实现一键自动化部署

时间:2025-12-24 04:30:05|栏目:其它服务器|点击:

目录
  • 环境:
  • 一、 docker开启远程连接访问
  • 安装配置idea的docker插件
  • 创建项目,并配置
    • 一 、 创建项目
    • 二、 配置项目
  • maven打包,生成镜像
    • 创建容器,项目部署到docker
      • 修改项目,一键部署
        • 参考

          环境:

          • ​ jdk1.8及以上。
          • Maven 3.2+
          • ​ idea
          • ​ docker

          一、 docker开启远程连接访问

          首先我们要开启docker的远程连接访问。保证不是docker所在的服务器,也能够远程访问docker。

          Linux版的docker:

          修改docker.service文件,添加监听端口 -H tcp://0.0.0.0:2375

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

          找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示

          重启docker

           systemctl daemon-reload
           systemctl start docker
          

          如果我们有防火前记得添加防火墙策略或者关闭防火墙。

          window版docker

          在电脑左下角找到docker图标,鼠标右键选择settings。 将General菜单下的Expose daemon on tcp://localhost:2375 without TLS勾选。无需重启。

          idea使用docker插件实现一键自动化部署

          安装配置idea的docker插件

          在File --> Settings --> Plugins 在输入框中搜索Docker,选择并安装。安装完成后重启Docker。

          idea使用docker插件实现一键自动化部署

          配置docker

          在File–> Settings–>Build,Execution,Deployment中找到Docker

          新建一个docker实例,然后在Engine API URL中将docker所在ip端口号填上,填完如果下面显示Connection successful证明连接docker成功。如果失败,可能是我们上一步docker开启远程连接未成功。

          idea使用docker插件实现一键自动化部署

          我们设置完成后,回到idea主界面,可以看到页面下面有一个docker窗口。点击绿色箭头,连接docker。连接上后显示Containers和Images就是我们现在docker中已经有的容器和镜像。

          idea使用docker插件实现一键自动化部署

          创建项目,并配置

          一 、 创建项目

          我就以一个简单的Eureka项目演示。

          File–> New -->Project --> Spring Initializr

          idea使用docker插件实现一键自动化部署

          idea使用docker插件实现一键自动化部署

          idea使用docker插件实现一键自动化部署

          idea使用docker插件实现一键自动化部署

          二、 配置项目

          修改pom.xml文件,引入docker-maven-plugin插件相关配置. 改配置在标签内

           
              
                  com.spotify
                  docker-maven-plugin
                  1.0.0
          
                  
                  
                      
                          build-image
                          
                          package
                          
                              build
                          
                      
                  
          
                  
                      
                      ${project.artifactId}
                      
                      
                          latest
                      
                      
                      ${project.basedir}/src/main/resources
          
                      
                      http://127.0.0.1:2375
          
                      
                      
                          
                              /
                              
                              ${project.build.directory}
                              
                              ${project.build.finalName}.jar
                          
                      
                  
              

          配置项目的基本配置。( 这里不是重点,一笔带过)

          ①修改application.properties,添加项目相关信息。

          #项目启动的端口号和IP地址
          server.port=9090
          eureka.instance.hostname=127.0.0.1
          
          # 是否将其注册到注册中心, 如果不是集群环境,false
          eureka.client.register-with-eureka=false
          # 是否检索服务,单机情况下为false
          eureka.client.fetch-registry=false
          
          eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
          

          ② 找到项目启动类,添加@EnableEurekaServer注解

          @EnableEurekaServer
          @SpringBootApplication
          public class EurekaserverApplication {
          
              public static void main(String[] args) {
                  SpringApplication.run(EurekaserverApplication.class, args);
              }
          
          }
          

          添加Dockerfile文件。

          我们在EeurekaServer\src\main\resources目录下,添加文件名为Dockerfile的文件。idea使用docker插件实现一键自动化部署

          如果我们docker中没有java:8 这个镜像,请先使用docker pull java:8,将镜像先拉下来。

          FROM java:8
          VOLUME /tmp
          ADD *.jar app.jar
          EXPOSE 9090
          ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

          我们添加了一个VOLUME指向“/ tmp”的内容,因为这是Spring Boot应用程序默认为Tomcat创建工作目录的地方。效果是在“/var/lib/docker”下的主机上创建一个临时文件,并将其链接到“/ tmp”下的容器。对于我们在此处编写的简单应用程序,此步骤是可选的,但如果需要在文件系统中实际编写,则对于其他Spring Boot应用程序可能是必需的。

          为了减少Tomcat的启动时间,我们添加了一个指向“/dev/urandom”的系统属性作为熵源。如果您使用Tomcat(或任何其他Web服务器)的“标准”版本,则不需要更新版本的Spring Boot。

          maven打包,生成镜像

          使用maven打包。我们在pom.xml中配置过,如果我们是用maven的package,那么就会自动使用Dockerfile文件进行构建。

          idea使用docker插件实现一键自动化部署

          我们从控制台可以看到,已经给我构建了一个和我们项目名相同的镜像文件。

          idea使用docker插件实现一键自动化部署

          我们在docker窗口可以看到,我们的镜像库中多个一个eurekaserver:latest镜像。

          idea使用docker插件实现一键自动化部署

          创建容器,项目部署到docker

          我们在docker窗口中,找到我们刚才创建的镜像文件,鼠标右键,选择Create container,我们修改创建容器所需要的配置。

          idea使用docker插件实现一键自动化部署

          在Create Docker Configuration弹窗中修改Container name(容器名称) Bind ports(Ip和端口映射)

          我在这里添加127.0.0.1:8080:9090. 使用本地8080端口,去访问容器的9090.

          idea使用docker插件实现一键自动化部署

          我们点击Run之后,就会自动创建容器并启动。

          我们可以看到在docker插件中,多出了一个eurekaServer的容器,并且启动成功,端口号为9090.

          idea使用docker插件实现一键自动化部署

          访问容器中的项目

          我们在前面设置的是使用8080端口,访问容器9090的项目。

          我们使用127.0.0.1:8080访问项目,出现如下页面,证明项目启动成功。

          idea使用docker插件实现一键自动化部署

          在这里我们基本上已经完成了所有的配置。

          修改项目,一键部署

          以后,我们启动项目可以按照下图所示,一键启动我们项目就会在docker容器中运行。

          idea使用docker插件实现一键自动化部署

          如果我们修改了项目,在使用在docker插件中启动项目,会发现在启动依然还是修改前的项目,因为我们只是启动了容器,并没有将修改后的项目重新打包并生成docker的images。 如果我们想在启动时直接用运行打包并启动项目可以按照下面的操作。

          我们修改在前面我们创建的Docker Images 的配置。

          idea使用docker插件实现一键自动化部署

          2.在配置启动项中找到Before launch:Activate tool window,在这里我们新增一个Run Maven Gold。

          idea使用docker插件实现一键自动化部署

          我们在这里的Command line 中添加一个命令 package。

          idea使用docker插件实现一键自动化部署

          配置完成后保存。以后我们启动项目时都会执行maven的package命令,自动将我们打包并把项目生成docker镜像文件启动。

          以后,如果我们修改项目后,都可以使用下图所示去启动。 它会自动打包创建docker镜像并启动项目。

          idea使用docker插件实现一键自动化部署

          如果我们只需要启动项目,到docker插件窗口,启动对应项目的容器就可以了。

          参考

          https://www.cnblogs.com/hsz-csy/p/9488469.html

          https://spring.io/guides/gs/spring-boot-docker/

          上一篇:关于docker安装python3.8镜像的问题

          栏    目:其它服务器

          下一篇:docker-compose部署etcd集群的实现步骤

          本文标题:idea使用docker插件实现一键自动化部署

          本文地址:https://zz.feitang.co/server/33070.html

          广告投放 | 联系我们 | 版权申明

          申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

          如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

          联系QQ:257218569 | 邮箱:257218569@qq.com

          Copyright © 2018-2026 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号