周末在家做了一个实验:

  1. 将Docker通过插件的方式集成到SpringBoot中
  2. 然后通过Maven命令根据项目中的Dockerfile自动生成Docker镜像,同时将镜像推送到远程Linux服务器(远程服务器已经提前装好了Docker)
  3. 然后在服务器通过启动Docker来启动SpringBoot项目,并访问接口。

第一步:将Docker通过插件的方式集成到SpringBoot中

 项目结构

 

同时,需要给这个插件开通权限(否则会碰到refuse、0.0.0.0等问题),在Maven的pluginGroups节点,加上如下内容:

Dockerfile内容:

开通服务器的DockerAPI,以便我可以从本机将镜像推送到服务器去。

将服务器和DockerAPI的地址配置到环境变量中:

第二步:然后通过Maven命令根据项目中的Dockerfile自动生成Docker镜像并推送到Linux服务器

另外,注意,我的项目中碰到了找不到main-class的问题,所以,我在这里指定了main-class.

上面就我是我们上传的镜像。

我在这中间碰以了invalid or corrupt jarfile的错误,网上说是改MATA-INFO里面的文件,但我的问题不是这样,我是Dockerfile中间的内容写错了,每个人碰到的问题都不一样,所以,别人的场景未必适合你,需要进行斟酌。

第三步:然后在服务器通过启动Docker来启动SpringBoot项目,并访问接口。

以下是在Linux本机访问(有时无法访问的会出现另外一些问题,比如防火墙未关闭等,这个可以参看网上的文章)。

远程访问。

在SpringBoot中使用Docker(利用dockerfile-maven-plugin插件)的更多相关文章

  1. docker利用Dockerfile来制作镜像

    在前面的例子(docker tomcat镜像制作)中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我 ...

  2. eclipse maven plugin 插件 安装 和 配置

      离线插件 点击下载离线安装包:eclipse-maven-plugin.zip ( for eclipse helios or higher ) .解压缩到任意目录(如这里的plugins目录): ...

  3. Maven plugin插件---appassembler-maven-plugin快速配置

    使用appassembler-maven-plugin 打包自定义目录 1.Pom中添加 <plugin> <artifactId>maven-resources-plugin ...

  4. Maven plugin 插件

    1.maven-surefire-plugin简介: Maven在构件时执行到测试的生命周期时,会使用maven-surefire-plugin运行测试用例,背后执行的Junit或者TestNG的测试 ...

  5. 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

  6. SpringBoot打包成Docker镜像

    1. 本文环境 Maven:3.6.3(Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11(Docker搭建参考) ...

  7. docker之Dockerfile指令介绍

    Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建 通过使用build命令,根据Dockerfiel的描述来构建镜像 通过源代码路径的方式 通过标准输入流的方 ...

  8. Spring Boot Maven Plugin(一):repackage目标

    简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...

  9. Spring Boot Maven Plugin(二):run目标

    简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...

随机推荐

  1. ASP里面令人震撼地自定义Debug类(VBScript)

    不知道用ASP写代码的朋友是不是和我有一样的感受,ASP中最头疼的就是调试程序的时候不方便 我想可能很多朋友都会用这样的方法“response.write ”,然后输出相关的语句来看看是否正确.前几天 ...

  2. JS性能之setTimeout与clearTimeout

    测试环境: chrome浏览器 结论: 1 一个页面用setTimeout越多,该页面消耗的内存就会越多,几乎成正比. 2 在'startCount(1000000);-->100万'情况下,不 ...

  3. MyBatis动态传入表名,字段名参数的解决办法---statementType用法

    statementType="STATEMENT" 要实现动态传入表名.列名,需要做如下修改 添加属性statementType="STATEMENT" 同时s ...

  4. navicat自动备份

    http://blog.csdn.net/eastmount/article/details/70239244

  5. /* font-awesome-4.7.0的应用*/

    <!DOCTYPE html> /* font-awesome-4.7.0的应用*/ <html lang="en"> <head> <m ...

  6. ansible应用案例-一键安装flask

    一.添加主机 sudo vim /etc/ansible/hosts ------------------------------------------------------> [group ...

  7. glib-2.40编译安装

    1 安装glib库所需要的依赖库: libffi-.tar.gz glib-.tar.xz 安装依赖库libffi: tar xf libffi-.tar.gz cd libffi- ./config ...

  8. jmeter响应结果乱码问题

    问题分析 当响应数据或响应页面没有设置编码时,jmeter会按照jmeter.properties文件中,sampleresult.default.encoding设置的格式解析 默认ISO-8859 ...

  9. SPOJ - REPEATS Repeats (后缀数组+RMQ)

    题意:求一个串中出现重复子串次数最多的数目. 析:枚举每个长度的子串,至少要重复两次,必然会经过s[l*i]中相邻的两个,然后再分别向前和向后匹配即可. 代码如下: #pragma comment(l ...

  10. 为什么Java的hash表的长度一直是2的指数次幂?为什么这个(hash&(h-1)=hash%h)位运算公式等价于取余运算?

    1.什么是hash表? 答:简单回答散列表,在hash结构散列(分散)存放的一种数据集结构. 2.如何散列排布,如何均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) ...