在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 ...
随机推荐
- Poj 1458 Common Subsequence(LCS)
一.Description A subsequence of a given sequence is the given sequence with some elements (possible n ...
- 统计不同的单词(map应用)
题目描述: 输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另一个单词.在判断是否满足条件时,字母不区分大小写,但在输出时应保留输入中的大小写,按字典序进行排列(所有 ...
- Python:map()、reduce()、filter()的区别
文章转于:https://blog.csdn.net/goupper1991/article/details/49803355 原文博主:https://blog.csdn.net/goupper19 ...
- phpMailer在CentOS 6.5下无法发送邮件的解决办法
作者:ffsystem 网站在Windows平台上开发测试,完成了后同步到CentOS6.5 Nigix运行.发现phpMailer组件无法与SMTP服务器建立连接,导致无法发送邮件. 错误代码: p ...
- openStack kvm 虚拟机CPU颗粒化控制
前一篇理解cpu topology对CPU Topology进行了学习总结,这里想总结下OpenStack下vCPU与pCPU常用的的绑定方式. 在尝试这些绑定之前,尤其是处理NUMA架构时还是建议看 ...
- docker里安装ubuntu
使用 Ubuntu 官方镜像 Ubuntu 相关的镜像有很多,这里使用 -s 10 参数,只搜索那些被收藏 10 次以上的镜像 $ docker search -s 10 ubuntu NAME DE ...
- Angular06 组件、模块、父子组件之间的数据传递
1 创建组件 进入到angular项目的根目录,执行如下命令 ng g component test-component 注意:执行完上述命令后在angular项目的src/app文件夹下就会多出一个 ...
- StringBuffer输出
public class Test { public static void main(String[] args) { StringBuffer a = new StringBuffer(" ...
- JSP有哪些动作?
JSP使用动作来动态的插入文件,实现重定向和对JavaBean的引用等功能.它公有6个基本动作:jsp:include,jsp:useBean,jsp:setProperty,jsp:getPrope ...
- filter与servlet的比较
filter与servlet的比较 主要从如下四个方面介绍他们之间的区别: 1.概念. 2.生命周期. 3 ...