# DockerSpringBootPlugin

  docker-maven-plugin 完全免Dockerfile 文件

  使用docker-maven-plugin 进行完全免 Dockerfile 文件

  注意 EXPOSE 在spring boot 中不起作用

详细

  https://github.com/spotify/docker-maven-plugin

  

  本机不安装 docker  连接其他主机或虚拟机

   需要添加两个额外配置

      <dockerHost>https://ip:2376</dockerHost>

      <dockerCertPath>证书地址</dockerCertPath>

  这两个地址可以 在 docker 环境变量中查询到  
  如果是 docker-machine 创建的虚拟机 可以同 env 连接的的时候 会显示

  

  
Mvnen :

构建镜像

  mvn clean package docker:build

构建镜像并且推送到镜像表

  mvn clean package docker:build -DpushImage

 <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--<dockerDirectory>src/main/docker</dockerDirectory>-->
<baseImage>java:8</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>

  建议

    如果自己或公司的  docker镜像仓库   ${docker.image.prefix} 设置为自己的 自己的名称  后续上传的时候 就不需要 改名称 了

     如果自己不想搭建 公司也没有 但是想 可以随时获取的 可以使用 阿里云的 docker  镜像管理   

实例 GitHub  https://github.com/atliwen/DockerSpringBootPlugin

使用私有 docker 镜像仓库

<properties>
<docker.maintainer>统一Manven 版本依赖</docker.maintainer>
<docker.imageName>parent</docker.imageName>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId> <configuration>
<serverId>docker-hub</serverId>
<registryUrl>https://10.10.6.50:5000</registryUrl>
<dockerHost>https://10.10.12.205:2376</dockerHost>
<dockerCertPath>C:\Users\admin\.docker\machine\machines\manager</dockerCertPath>
<imageName>10.10.6.50:5000/${docker.imageName}:${project.version}</imageName>
<baseImage>java:8</baseImage>
<maintainer>${docker.maintainer}</maintainer>
<volumes>/tmp</volumes>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>

注意:

  

  在子Maven 项目中  写 定义  镜像名称 和项目名称

  

   docker  镜像 TAG  为版本号  <version>0.0.1-SNAPSHOT</version>

  

<properties>
<docker.maintainer> EDI 订单处理服务</docker.maintainer>
<docker.imageName>dj-atliwen-ediwebapi</docker.imageName>
</properties>

  登录私有镜像仓库的配置

 <serverId>docker-hub</serverId>
<registryUrl>https://10.10.6.50:5000</registryUrl>
serverId 是Maven 中的配置   配置  Maven  settings.xml 中 server 节点
<servers>
<server>
<id>docker-hub</id>
<username>foo</username>
<password>secret-password</password>
<configuration>
<email>foo@foo.bar</email>
</configuration>
</server>
</servers> // email 也是必须填写的

  

docker-maven-plugin 完全免Dockerfile 文件的更多相关文章

  1. Docker学习(六)——Dockerfile文件详解

    Docker学习(六)--Dockerfile文件详解 一.环境介绍 1.Dockerfile中所用的所有文件一定要和Dockerfile文件在同一级父目录下,可以为Dockerfile父目录的子目录 ...

  2. 【Docker】(10)---详细说说 Dockerfile文件

    一.基础概念 1.基本概念 Dockerfile 是一个文本文件,其内包含了一条条的指令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建.有了 Dockerfile,当我们需要定制 ...

  3. 『现学现忘』Docker基础 — 34、DockerFile文件详解

    目录 1.DockerFile文件说明 2.Dockerfile构建过程解析 (1)Docker容器构建三步骤 (2)Dockerfile文件的基本结构 (3)Dockerfile注意事项 (4)Do ...

  4. Docker学习计划三:Dockerfile 使用

    我们使用 Dockerfile 定义镜像,依赖镜像来运行容器,因此 Dockerfile 是镜像和容器的关键,Dockerfile 可以非常容易的定义镜像内容 首先通过一张图来了解 Docker 镜像 ...

  5. [Linux] 编写Dockerfile文件自动构建镜像

    Dockerfile是一个文本文件,按顺序包含构建给定镜像所需的所有命令Docker通过读取Dockerfile中的指令自动构建图像 . Dockerfile遵循特定的格式和指令集,您可以在Docke ...

  6. 【Docker】(6)---Dockerfile文件

    springboot项目打包镜像中的Dockerfile文件 在讲Dockerfile文件之前应该先讲下maven的一个插件叫:dockerfile-maven-plugin.他们是组合一起用的 一. ...

  7. Docker(十)-Docker创建DockerFile文件

    制作Docker image 有两种方式: 使用 Docker container,直接构建容器,再导出成 image 使用. 是使用 Dockerfile,将所有动作写在文件中,再 build 成 ...

  8. ASP.NET CORE做的网站运行在docker上(不用dockerfile文件部署)

    按网上的做法用dockerfile文件是可以弄得出来的,http://www.docker.org.cn/article/119.html, 不过我想把网站文件放在外面硬盘目录,再映射进去,这样只要在 ...

  9. Docker定制容器镜像(利用Dockerfile文件)

    1.创建Dockerfile文件 新建一个目录,在里面新建一个dockerfile文件(新建一个的目录,主要是为了和以防和其它dockerfile混乱 ) [root@docker01 myfiles ...

随机推荐

  1. centos虚拟机下安装nginx

    通过yum安装 yum install epel-release -y(企业级的镜像源) yum install nginx-y 启动.停止.重启 service nginx start servic ...

  2. ActiveMQ5.8.0安装及启动

    一.下载 官网地址:http://activemq.apache.org/download.html Windows版本:apache-activemq-5.8.0-bin.zip Linux版本:a ...

  3. 配置Sharepoint之后。外网无法访问的问题

    Sharepoint配置完成了,projectserver也已经配置完毕.突然遇到一个情况就是外网访问不了,这可麻烦了,费了半天事访问不了等于0啊.没办法,研究吧.在群里问了大神,终于解决了.现将解决 ...

  4. FTP列出文件列表

    #定义FTP服务器地址$ftpURL = "ftp://192.168.12.6/"#定义登录FTP服务器的账户及密码$username = "testj\adadmin ...

  5. Android学习之Styles And Includes

    最近在看 Android Programming: The Big Nerd Ranch Guide,书写的不错,推荐级别.打算把看书学到的东西,一点一点记录下来.目前看到24章,讲的是style 和 ...

  6. Python学习---DjangoForm的总结大全

    DjangoForm基础知识总结 1.Form是什么东西? 用于验证用户请求数据合法性的一个组件 2. Django的Form的实现步骤: a. 创建一个验证用户请求的模板 from django i ...

  7. Windows as a Service(1)—— Windows 10服务分支

    前言 作为公司的IT管理员,管理全公司Windows 10操作系统的更新一直是工作中的头疼之处.微软提供了很多方法来帮助我们管理公司的Windows 10更新,比如Windows Server Upd ...

  8. css中的圣杯布局和双飞翼布局

    圣杯布局 布局要求: 三列布局,中间自适应,两边定宽 中间栏要在浏览器优先渲染 允许任意列的高度最高 用最简单的CSS.最少的HACK语句 解释说明: 1.min-width:700px是为了当页面缩 ...

  9. 5 Dockerfile指令详解 && CMD 指令

    CMD 指令的格式和 RUN 相似,也是两种格式: shell 格式: CMD <命令> exec 格式: CMD ["可执行文件", "参数1", ...

  10. July 29th 2017 Week 30th Saturday

    Where there is great love, there are always miracles. 哪里有真爱存在,哪里就有奇迹发生. Everyone expects there can b ...