教你如何利用docker-maven-plugin自动化部署

1、docker-maven-plugin 介绍

在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便。docker-maven-plugin 插件就是为了帮助我们在Maven工程中,通过简单的配置,自动生成镜像并推送到仓库中。

**作用:

在编译工程时,能自动生成docker image,还可以远程推送至仓库,只需要在maven的配置文件pom.xml中合理的配置**

例子一(编译时自动生成docker镜像):

1、maven 配置:

<plugin>
          <groupId>com.spotify</groupId>
           <artifactId>docker-maven-plugin</artifactId>
           <version>1.0.0</version>
           <configuration>
           <!--注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功-->
           <imageName>myserver:v1</imageName>
           <!-- 指定了Dockfile的目录,所以需要在项目的src/main下创建一个docker目录,并在其目录中配置Dockerfile文件 -->
           <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory>
           <skipDockerBuild>false</skipDockerBuild>
           <!-- resources的内容会复制  dockerDirectory(也就是构建上下文)中 -->
           <resources>
                <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
                </resource>
          </resources>
     </configuration>
</plugin>

2、然后在项目的src\main\resources\docker(就是上面配置的dockerDirectory目录),创建一个名为Dockerfile的文件内容如下:

FROM java:8
MAINTAINER   blue
ADD  mydocker-0.0.1-SNAPSHOT.jar mydocker.jar
ENTRYPOINT   ["java", "-jar", "/mydocker.jar"]

3、设置系统环境变量,用于指定需要连接的docker daemon的主机和端口
前面讲过,docker是C/S架构,docker-maven-plugin担任client角色,服务器则需要环境变量指定

4、执行mvn clean install docker:build,项目编译完成后自动构建镜像,执行docker images查看镜像是否存在:

例子二(镜像推送至仓库,基于例子一):

1、打开maven配置文件 setting.xml,加入仓库账号信息:

<servers>
    <server>
        <id>docker-hub</id>
        <username>blueiii</username>
        <password>xxxx</password>
        <configuration>
          <email>xxxxx@163.com</email>
        </configuration>
    </server>
  </servers>

2、修改pom.xml文件,imageName必须跟仓库路径一致:

<imageName>blueiii/mydocker:v1</imageName>

3、修改pom.xml文件,增加如下配置

<pushImage>true</pushImage>
<serverId>docker-hub</serverId>
<registryUrl>https://hub.docker.com/</registryUrl>

4、同样执行mvn clean install docker:build,自动构建镜像并上传至docker hub:

到此这篇关于教你如何利用docker-maven-plugin自动化部署的文章就介绍到这了,更多相关docker maven plugin自动化部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker-maven-plugin 插件无法拉取对应jar包问题

    使用 docker-maven-plugin 插件时,maven无法拉取对应 jar 包.出现下面问题: maven 版本: 镜像仓库配置: <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central&l

  • 详细docker-maven-plugin使用方法

    目录 Docker-Maven-Plugin Maven插件自动部署步骤 1.修改宿主机的docker配置,开放2375端口,让其可以远程访问 2.刷新配置,重启服务 3.配置容器防火墙 4.在pom.xml 添加配置 Docker-Maven-Plugin 微服务部署有两种方法: 手动部署:首先基于源码打包生成jar包(或war包),写个Dockerfile文件,基于基础镜像搞个新镜像,将jar包(或war包)上传至虚拟机并拷贝至JDK容器.(太麻烦了) 通过Maven插件自动部署. 这也是企

  • dockerfile-maven-plugin使用指南小结

    目录 pom配置 setting.xml配置 登录情况 需要登录 无需登录 maven多模块情况配置 jenkins jenkins服务器安装docker 修改jenkins项目配置 最近在将应用部署到容器平台,需要在打包时生成docker镜像,在网上首先搜到了docker-maven-plugin这个插件,但使用起来很麻烦,在maven和dockfile都要做很多额外的配置.后来在官方Github看到作者推荐使用dockerfile-maven-plugin这个新的插件,于是替换成这个,但这个

  • dockerfile-maven-plugin极简教程(推荐)

    一.简介 maven是一个项目依赖管理和构建的工具,dockerfile-maven-plugin是一个maven的插件,主要作用是在项目构建的时候生成基于项目的docker镜像文件. 简而言之,此插件将maven和docker进行集成. 正常情况下,我们在开发了一个应用程序后,会使用maven进行打包,生成对应的jar文件.而后,会使用docker将jar文件build成一个镜像(docker image).之后,就可以在docker daemon中创建基于镜像的容器,并可提供服务了. doc

  • Maven插件docker-maven-plugin的使用

    目录 1.docker-maven-plugin 介绍 2.环境.软件准备 3.Demo 示例 3.1 配置 DOCKER_HOST 3.2 示例构建镜像 3.3 执行命令 3.4 绑定Docker 命令到 Maven 各个阶段 3.5 使用私有 Docker 仓库地址 3.6 安全认证配置 3.7 其他参数 4.FAQ 参考资料 1.docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时

  • docker maven plugin快速部署微服务的详细流程

    目录 一.前置条件 二.部署方法 1.开放远程部署端口 3.修改application文件 4.打包上传并创建镜像 5.启动容器 三.总结 一.前置条件 linux下装好docker并启动 1.使用国内 daocloud 一键安装命令 curl -sSL https://get.daocloud.io/docker | sh 2.启动docker systemctl start docker.service 二.部署方法 1.开放远程部署端口 <1>修改 docker 的配置文件 /lib/s

  • 基于Docker+Jenkins实现自动化部署的方法

    使用码云搭建Git代码存储仓库 https://gitee.com/login 使用码云创建私有私有git仓库 将本地springboot项目上传到git仓库中 基于Docker安装Jenkins环境 1.使用docker 安装jenkins docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean 2.访问jenkins地址 8080 注意:第一次启动的时候正在加载j

  • Jenkins+Maven+SVN自动化部署java项目

    安装Jenkins 提示:首先Jenkins安装方式有2中,一种是yum安装,另一种是使用war的方式进行安装(war就需要安装tomcat) 官方文档:https://pkg.jenkins.io/redhat/ 如果我们想使用war包的方式可以直接下载war包 Jenkins访问地址:localhost:8080/jenkins 新版本的jenkins为了保证安全,在安装之后有一个锁,需要设置密码之后才可以解锁 我们选择推荐安装即可 安装插件中 设置管理员账号密码 登陆jenkins 安装m

  • Jenkins+Docker+Gitee+SpringBoot自动化部署

    目录 1,搭建Jenkins平台 2,Jenkins平台配置 3,创建SpringBoot应用 4,Gitee配置 5,新建自动化部署任务 6,打包测试 当我们使用传统的开发方式开发后台系统时,每写完一个功能点就需要重新运行一下项目,然后进行测试,如果是项目比较小还可以,但是如果项目比较大的话,由于涉及的人员比较多,这种开发方式就比较麻烦.基于此,我们就需要使用Jenkins配合Gitee搭建一个自动化部署平台,并将代码托管到服务器上,这样减轻了本地的电脑压力,也解放了部署的流程. 1, 搭建J

  • 教你如何利用docker-maven-plugin自动化部署

    1.docker-maven-plugin 介绍 在我们持续集成过程中,项目工程一般使用 Maven 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动态扩容,快速回滚,着实很方便.docker-maven-plugin 插件就是为了帮助我们在Maven工程中,通过简单的配置,自动生成镜像并推送到仓库中. **作用: 在编译工程时,能自动生成docker image,还可以远程推送至仓库,只需要在maven的配置文件pom.xml中合理的配置** 例子一(编译时自动生成d

  • docker+gitlab+jenkins从零搭建自动化部署

    目录 前言: 一.安装Docker 二.Docker 安装Jenkins 1. 搜索仓库中的jenkins镜像 2. 通过拉取jenkins镜像到本地images中 3. 启动jenkins容器 三.登陆Jenkins的初始化操作 四.全局工具配置(配置环境) 五.安装Maven插件 点击系统管理–插件管理 六.新建任务,完成自动化部署 前言: 通过几天的学习和自己的理解,整理了下Docker+Jenkins的自动部署教程,如有不足,还请多多指点,谢谢! Docker的优点: Docker 让开

  • 一步步教你利用Docker设置Node.js

    前言 docker是一个开源的应用容器引擎,可以为我们提供安全.可移植.可重复的自动化部署的方式.docker采用虚拟化的技术来虚拟化出应用程序的运行环境.如上图一样.docker就像一艘轮船.而轮船上面的每个小箱子可以看成我们需要部署的一个个应用.使用docker可以充分利用服务器的系统资源,简化了自动化部署和运维的繁琐流程,减少很多因为开发环境中和生产环境中的不同引发的异常问题.从而提高生产力. docker三个核心概念如下: 镜像(images):一个只读的模板,可以理解为应用程序的运行环

  • maven实现docker自动化部署插件的使用

    构建开发项目 首先打开我们的IDEA构建一个我们的开发项目,配置如下: 接着打开我们的pom.xml修改build的配置,修改以后的代码如下: <build> <finalName>docker-automation-demo</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring

  • .Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法

    前言 本文主要介绍了关于.Net Core自动化部署用docker版jenkins部署dotnetcore应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的实现步骤吧. 安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Container Dockerfile FROM jenkins/jenkins # Switch to root t

  • spring boot 项目利用Jenkins实现自动化部署的教程详解

    本文主要讲解利用Jenkins实现spring boot项目的自动化部署: •1.后台技术架构:Spring boot 1.4.2.RELEASE +Mybatis 3+ Redis+ Mysql 5.6+JDK8; •2.代码构建工具:maven 3.3; •3.源代码托管工具:Gitlab; •4.利用maven的docker插件打包成docker镜像在docker容器中部署项目: •5.服务器是阿里云的ECS; 一.安装Jenkins 1.阿里云服务器安装Jenkins方式见如下链接地址

随机推荐