在SpringBoot中使用Docker(利用dockerfile-maven-plugin插件)
周末在家做了一个实验:
- 将Docker通过插件的方式集成到SpringBoot中
- 然后通过Maven命令根据项目中的Dockerfile自动生成Docker镜像,同时将镜像推送到远程Linux服务器(远程服务器已经提前装好了Docker)
- 然后在服务器通过启动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插件)的更多相关文章
- docker利用Dockerfile来制作镜像
在前面的例子(docker tomcat镜像制作)中,我们从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我 ...
- eclipse maven plugin 插件 安装 和 配置
离线插件 点击下载离线安装包:eclipse-maven-plugin.zip ( for eclipse helios or higher ) .解压缩到任意目录(如这里的plugins目录): ...
- Maven plugin插件---appassembler-maven-plugin快速配置
使用appassembler-maven-plugin 打包自定义目录 1.Pom中添加 <plugin> <artifactId>maven-resources-plugin ...
- Maven plugin 插件
1.maven-surefire-plugin简介: Maven在构件时执行到测试的生命周期时,会使用maven-surefire-plugin运行测试用例,背后执行的Junit或者TestNG的测试 ...
- 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
- SpringBoot打包成Docker镜像
1. 本文环境 Maven:3.6.3(Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11(Docker搭建参考) ...
- docker之Dockerfile指令介绍
Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建 通过使用build命令,根据Dockerfiel的描述来构建镜像 通过源代码路径的方式 通过标准输入流的方 ...
- Spring Boot Maven Plugin(一):repackage目标
简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...
- Spring Boot Maven Plugin(二):run目标
简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...
随机推荐
- 使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
Anthem.NET刚刚发布了其最新的1.5版本,其中很不错的一个新功能就是对文件上传功能的Ajax实现.本文将简要介绍一下该功能的使用方法. Anthem.NET的下载与安装 Anthem.NET可 ...
- delete操作符
delete操作符通常用来删除对象的属性: Js代码 var o = { x: 1 }; delete o.x; // true o.x; // undefined 而不是一般的变量: Js代 ...
- js之__proto__原型链
可参考: http://blog.csdn.net/irelandken/article/details/7297490
- HDOJ1166(线段树点修改)
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- 【转】 Pro Android学习笔记(四九):ActionBar(2):Action图标区
目录(?)[-] ActionBar的隐藏和现实 ActionBar的action图标区 ActionBar的隐藏和现实 ActionBar bar = getActionBar();bar.hide ...
- java注解的基本知识
1: 注解:Annotation是一种应用于类.方法.参数.变量.构造器及包生命中的特殊修饰符,是一种由JSR-175标准选择用来描述代码的元数据. Java中如下的4种注解,专门负责新注解的创建: ...
- Android Studio的Android Monitor窗口中把标签拉出来之后放不回去的解决方法
不小心把下图方框中的logcat标签拖出来之后, 就变成了图2的浮动窗口,发现logcat标签怎么也弄不回原来窗口中的位置中. 其实解决方法很简单,只要拖住下图浮动窗口中红框位置的logcat标签,然 ...
- 【总结整理】webstorm插件使用
<ul> <li><a href="#">1F 男装</a></li> <li><a href=&qu ...
- typeof用法
typeof的运算数未定义,返回的就是 "undefined". 运算数为数字 typeof(x) = "number" 字符串 typeof(x) = &qu ...
- Idea调整目录结构