IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 2021.2版IDEA配置docker将springboot项目打成镜像一键发布部署 -> 正文阅读

[Java知识库]2021.2版IDEA配置docker将springboot项目打成镜像一键发布部署

之前博客已经谈到配置docker远程链接服务,这里再介绍如何在IDEA中配置docker,将项目部署到服务器上

前文:docker开放远程链接

  • 去插件中心安装Docker插件,安装完重启IDEA。这个简单
    在这里插入图片描述
    • 配置连接远程docker,打开Docker插件,新建连接,在Engine API URL处输入服务器IP地址:2375。出现Connection successful代表链接成功,否则需要看看ip端口是否是通的

在这里插入图片描述

  • 新建一个springboot项目,在pom文件中docker-maven-plugin插件,直接复制
                 <plugin>
                  <groupId>com.spotify</groupId>
                  <artifactId>docker-maven-plugin</artifactId>
                  <version>1.2.1</version>
                  <!--将插件绑定在某个phase执行-->
                  <executions>
                      <execution>
                          <id>build-image</id>
                          <!--将插件绑定在package这个phase上,也就是说,用户只需要执行mvn package,就会自动执行mvn docker:build-->
                          <phase>package</phase>
                          <goals>
                              <goal>build</goal>
                          </goals>
                      </execution>
                  </executions>
                  <configuration>
                      <!--指定生成的镜像名-->
                      <imageName>clover/${project.artifactId}</imageName>
                      <!--指定标签-->
                      <imageTags>
                          <imageTag>latest</imageTag>
                      </imageTags>
                      <!--指定Dockerfile 的位置,${project.basedir}:项目的根路径下-->
                      <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory>
                      <!--指定远程docker api地址-->
                      <dockerHost>http://192.168.6.215:2375</dockerHost>
                      <resources>
                          <resource>
                              <!--容器中自定义jar包存放的位置,及对应的target目录-->
                              <targetPath>/</targetPath>
                              <!--本地jar包所在路径-->
                              <directory>${project.build.directory}</directory>
                              <!--需要包含本地jar包名称,对应的是Dockerfile中添加的文件名-->
                              <include>${project.build.finalName}.jar</include>
                          </resource>
                      </resources>
                      <!--以下两行是为了docker push到DockerHub使用的-->
                      <!--<serverId>docker-hub</serverId>
      <registryUrl>https://index.docker.io/v1</registryUrl>-->
                  </configuration>
              </plugin>
    
    
  • 添加个url接口,方便访问:
     @SpringBootApplication(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
    @RestController
    public class DockerdemoApplication {
    
      public static void main(String[] args) {
          SpringApplication.run(DockerdemoApplication.class, args);
      }
    
      @RequestMapping("/test")
      public String test(){
          return "1. Hello world ! " + new SimpleDateFormat(" [yyyy-mm-dd  HH:mm:ss]").format(new Date());
      }
    }
    
  • 在项目根目录新建Dockerfile文件
 # Docker image for springboot application
# VERSION 0.0.1
# Author: bolingcavalry

### 基础镜像,使用alpine操作系统,openjkd使用8u201
FROM openjdk:8u201-jdk-alpine3.9

#作者
MAINTAINER BolingCavalry <zq2599@gmail.com>

#系统编码
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp

#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/dockerplugindemo-0.0.1-SNAPSHOT.jar app.jar

#启动容器时的进程
ENTRYPOINT ["java","-jar","/app.jar"]

#暴露8080端口
EXPOSE 8080
  • 在IDEA新建dockerfile启动文件
    在这里插入图片描述

  • Dockerfile配置详情如下图所示,请按照图中的说明进行设置,确保每个红框中都会执行到:
    在这里插入图片描述

  • 上图中最下面的那个"Run Maven Goal"点击后,会弹出一个小窗口 ,用来输入要执行的maven命令,这里输入clean package -U -DskipTests,表示每次在构建镜像之前,都会将当前工程清理掉并且重新编译构建:
    在这里插入图片描述

  • 设置完成后,点击下图红框中的绿色三角按钮,执行此配置:
    在这里插入图片描述
    在这里插入图片描述

  • 发布不成功可能会因为idea不是管理员权限打开的,笔者就遇到这种情况,发布失败,连不上服务器docker。或者防火墙,宿主机的端口没写对等等

  • 在服务器上执行docker image可以查看镜像情况

  • 在浏览器上访问地址:http://192.168.6.215:8080/test,得到响应如下图所示,可见应用在容器中正常运行:
    在这里插入图片描述

  • 如果修改了代码,再次点击上图的三角形启动,就再次发布部署了

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:01:22  更:2021-09-26 10:02:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 18:40:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码