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

 更新时间:2021年09月28日 11:48:24   作者:_wings  
本文通过两个例子给大家讲解如何利用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自动化部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker搭建fastdfs环境的方法步骤

    docker搭建fastdfs环境的方法步骤

    在实际使用中,通过源码编译安装过程非常复杂,但是通过docker快速构建却非常容易,本文主要介绍了docker搭建fastdfs环境,具有一定的参考价值,感兴趣的可以了解一下
    2022-06-06
  • 使用Docker构建一个Git镜像使用clone仓库

    使用Docker构建一个Git镜像使用clone仓库

    这篇文章主要介绍了使用Docker构建一个Git镜像使用clone仓库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • docker部署jupyter的详细教程

    docker部署jupyter的详细教程

    这篇文章主要介绍了docker部署jupyter的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • Docker部署前后端分离项目的三种方式小结

    Docker部署前后端分离项目的三种方式小结

    本文主要介绍了Docker部署前后端分离项目的三种方式小结,包含通过两个容器部署,通过compose编排容器自动部署和将前后端项目打成一个镜像部署的三种方式,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 查看docker镜像中文件的方法

    查看docker镜像中文件的方法

    在本篇文章里小编给各位分享的是关于查看docker镜像中文件的方法,有兴趣的朋友们可以参考学习下。
    2020-03-03
  • 解决Docker错误“docker build“ requires exactly 1 argument(s)问题

    解决Docker错误“docker build“ requires exactly 1 argument(s)

    这篇文章主要介绍了解决Docker错误“docker build“ requires exactly 1 argument(s)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • docker运行nginx不生效的解决办法

    docker运行nginx不生效的解决办法

    当docker运行nginx镜像时,设置端口映射,则只有该映射端口起作用,nginx配置的其他端口无效,接下来本文将给大家介绍docker运行nginx不生效的解决办法,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-01-01
  • Dockerfile 中 VOLUME 与 docker -v 的区别说明

    Dockerfile 中 VOLUME 与 docker -v 的区别说明

    这篇文章主要介绍了Dockerfile 中 VOLUME 与 docker -v 的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker创建并运行一个MySql容器,并将宿主机直接挂载到容器

    docker创建并运行一个MySql容器,并将宿主机直接挂载到容器

    这篇文章主要介绍了docker创建并运行一个MySql容器,并将宿主机直接挂载到容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Docker 镜像、容器、仓库的概念及应用详解

    Docker 镜像、容器、仓库的概念及应用详解

    这篇文章主要介绍了Docker 镜像、容器、仓库的概念及应用详解的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论