1.所使用材料 ,spring boot 项目 基于maven ,maven 工具, docker工具

ps:为啥使用 docker 公司微服务需要启动太多,有两个优点吧! 1.方便管理,2.减少服务占用内存量

2.上手

a.新建Dockerfile文件如下目录

b.Dockerfile文件内容
				FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
ps:
FROM: 第一条指令必须是FROM指令 (环境依赖 jdk 版本等)
VOLUME: 作用是创建在本地主机或其他容器可以挂载的数据卷,用来存放数据。
ARG: 定义一个变量
JAR_FILE: 为pom文件中项目定义的路径地址
COPY: 复制本地主机src目录或文件到容器的desc目录,desc不存在时会自动创建。
ENTRYPOINT: 每个Dockerfile中只能有一个ENTRYPOINT,当有多个时最后一个生效。
c.pom文件修改

			 <properties>
<docker.image.prefix>springio</docker.image.prefix>
</properties> <plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
</plugins>
这个时候 项目中文件修改告一段落
d.需要在maven中添加配置(不加入可能会导致 docker:build 不识别) 否则会报 No plugin found for prefix 'docker' in the current project and in the plugin groups...

e.docker 配置需要更改(勾选)否则会报 localhost:2375 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] failed: Connection refused: connect

3.最后命令

			a.mvn package dockerfile:build(项目路径下)
b.docker 查看镜像 docker images
c.运行项目 docker run -d -p 8099:8099 springio/xlw_demo

4.总结

			a.问题 如果代码更改,docker镜像中还是老代码,需要手动删除很不方便
b.启动的时候需要命令号窗口启动不方便
c.打开软件时能否跟随docker一起启动

![blockchain](https://maziye.oss-cn-beijing.aliyuncs.com/1569635074%281%29.jpg "公众号")
公众号即可获得"Spring Cloud"教程

maven 打包 spring boot 生成docker 镜像的更多相关文章

  1. CentOS7 下 配置Docker远程访问 与 windows下使用maven构筑Spring Boot 的 Docker镜像到远程服务端

    1.设置Docker服务端,以支持远程访问: 修改docker服务端配置文件,命令: vim /usr/lib/systemd/system/docker.service 修改后: [Unit] De ...

  2. Spring Boot 创建 Docker 镜像

    随着越来越多的组织转向容器和虚拟服务器,Docker正成为软件开发工作流程中一个更重要的部分.为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Dock ...

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

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

  4. maven打包spring boot项目及跳过test文件

    打包命令 mvn clean package // 会先清理现有的target目录 or mvn package 跳过测试文件 1. idea全局配置 右侧maven会取消test选项 2. 命令行附 ...

  5. 使用Maven插件构建Spring Boot应用程序镜像

    使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...

  6. Maven使用package打包Spring Boot时出现:Unable to find a single main class from the following candidates的问题解决

    问题如下: [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.5.RELEASE ...

  7. Maven插件Jib配合Harbor生成Docker镜像

    1 说明 Maven插件Jib暂不支持https的自签名,因此只能配置以Http的方式访问Harbor私有仓库 以下基于SpringBoot2.x进行配置 2 Maven配置 2.1 pom.xml中 ...

  8. jenkins自动打包生成docker镜像后自动发布并nginx代理访问

    之前曾写过docker及jenkins基础使用  https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...

  9. spring boot——结合docker

    spring boot——结合docker 前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 liunx机器上,也可以实现虚 ...

随机推荐

  1. [Pandas] 06 - Data Preprocessing and Cleaning

    From: DBWangGroup 基于该系列代码的实践与补充思考. 补充:特征工程 结合:[Scikit-learn] 4.3. Preprocessing data /* implement */

  2. php 上传word文件 Word文件转 PDF

    说一下,之前的时候做上传word文档转pdf的项目时候, 通过安装open office 连接服务组件, 遇到种种问题, 例如上传的word文档版本,, word文档中编辑的样式复杂会出现转pdf失败 ...

  3. 浅谈 Vector

    目录 浅谈Vector 1.容器基本操作 2.vector 初始化 3.vector的赋值与swap 4.vector的增删改除 1.增加元素 2.访问元素 3.删除元素 4.元素的大小 浅谈Vect ...

  4. spring框架对于实体类复杂属性注入xml文件的配置

    spring框架是javaWeb项目中至关重要的一个框架,大多web 项目在工作层次上分为持久层.服务层.控制层.持久层(dao.mapper)用于连接数据库,完成项目与数据库中数据的传递:服务层(s ...

  5. net core WebApi——定时任务Quartz

    目录 前言 Quartz 测试 问题及解决方法 小结 前言 本来打算昨天都开始写这篇,就因为要把小团队的博客整理汇总,一看二哈的博客那么多,一个个复制粘贴肯定麻烦(其实是我自己觉得复制麻烦),所以穿插 ...

  6. Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(2)

    书接上文 首先根据各种Spring MVC教程,建立了基础的结构,是否合理不知道,姑且先这样,有问题再解决问题.学习新东西,不能怕掉坑里... 查询网上别人的经历说需要把根目录下的lib目录下的所有包 ...

  7. jquery的api以及用法总结-数据/操作/事件

    数据 .data() 在匹配元素上存储任意相关数据或返回匹配的元素集合中的第一个元素的给定名称的数据存储的值 .data(obj) 一个用于更新数据的键/值对 .data()方法允许我们再dom元素上 ...

  8. awk 命令使用

    awk命令就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理.例如: awk -F '/' '{print $NF}' tmp/file.txt 该命令用于读取file. ...

  9. DevExpress GridControl导出ExportToXls 数字类型显示成货币格式

    用Dev开发很习惯直接用自带控件导出Excel,现在很少使用原生的Excel API去操作了.除非需要详细的控制. 但别人家封装好的就得按人家的规则的.在使用GridControl导出Excel时发现 ...

  10. zend studio 13.6 导入项目及其他设置

    1. 先创建一个新的项目:file -> new -> project 2. 创建新项目之后,在左侧的项目目录上右键 -> import 到此导入项目, 完成! 设置编码utf-8 ...