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/systemd/system/docker.service
<2>在 ExecStart 配置项上增加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

<3>保存退出
<4>重新加载配置文件

systemctl daemon-reload

<5>重启docker

systemctl restart docker.service

2.微服务pom文件新增插件配置

project标签下加入如下配置

<build>
        <finalName>app</finalName>
        <plugins>
            <!-- maven打包springboot必备依赖 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- DockerMaven插件 -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                	<!-- imageName标签内不可以有大写字母 -->
                    <imageName>distribute-search/${project.artifactId}</imageName>
                    <!-- OpenJDK Java 11 + Maven 3.6 + Python 3.8 + pip 21 + node 16 + npm 7 + Gradle 6 -->
                    <baseImage>openkbs/jdk11-mvn-py3</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>
                    <dockerHost>http://192.168.6.128:2375</dockerHost>
                    <forceTags>true</forceTags>
                </configuration>
            </plugin>
        </plugins>
    </build>

ps:
imageName:打包后的docker镜像名
baseImage:基础镜像,相当于 Dockerfile 中的 FROM
entryPoint:jar包启动命令
targetPath:jar包上传位置
directory:jar包上传目录,缺省时为 targetPath
include:jar包名
dockerHost:jar包上传到哪台机器
forceTags:是否覆盖机器上的同名镜像

3.修改application文件

将涉及到ip地址的配置修改为部署后的机器ip,没有就跳过

4.打包上传并创建镜像

在微服务根目录下执行此命令

mvn clean package -DskipTests docker:build

ps:-DskipTests 打包时跳过测试

打包成功

docker images 查看结果

5.启动容器

# docker run --name <容器名> -p 80:80 -d <镜像名>
docker run --name eureka -p 9999:9999 -d distribute-search/eureka-server

docker ps 查看结果

访问微服务

三、总结

将Dockerfile写在pom中方便项目管理,将微服务的 打包、上传、镜像创建操作 整合到一条命令中执行

到此这篇关于docker maven plugin快速部署微服务的文章就介绍到这了,更多相关docker maven plugin微服务内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

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

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

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

  • 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 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时能够快速动

  • 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 编译打包,然后生成镜像,通过镜像上线,能够大大提供上线效率,同时

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

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

  • 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插件自动部署. 这也是企

  • 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

  • Spring Boot 快速搭建微服务框架详细教程

    前言: SpringBoot是为了简化Spring应用的创建.运行.调试.部署等而出现的,使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置. 简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题---习惯大于约定. Spring Boot默认使用tomcat作为服务器,使用logback提供日志记录. Spring Boot的主要优点: 为所有Spring开发者更快的入门 开箱即用,提供各种默认配置来简化项目配置 内嵌式容器简化Web项目 没有冗余代码生成和XM

  • Docker Compose部署微服务项目上线功能

    目录 一.需求说明 二.效果图 三.项目结构 四.核心源码 ️Java依赖与接口 ️Docker相关源码 五.部署项目 小结 一.需求说明 编写一个SpringBoot + Redis 的微服务项目,并提供 hello接口,每访问一次接口,计数器+1 二.效果图 三.项目结构 目录说明 docker-compose.yml :项目的启动文件,配置编排等 Dockerfile:项目上线所需要的依赖,以及启动方式 四.核心源码 ️Java依赖与接口 依赖文件 pom.xml <?xml versio

  • 十分钟学会用docker部署微服务

    2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?今天就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发并用其部署微服务. 一. Docker简介 Docker是一个开源的容器引擎,它有助于更快地交付应用. Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理.使用 Docker可更快地打包.测试以及部署应用程序,并可以缩短从编写到部署运行

  • springboot 打包部署 共享依赖包(分布式开发集中式部署微服务)

    1.此文初衷 平常我们在进行微服务开发完毕后,单个微服务理应部署单个虚机上(docker也可),然后服务集中发布到服务注册中心上,但是有些小的项目,这样做未免太过繁杂增加了部署难度,这里主要讲述的是如何在单机上通过共享jar包的方式来部署多个微服务,解决以上部署难度同时在带宽不够或者网速慢的情况下如何快速的发布部署. 2.部署目录结构   部署目录解答-> 各个微服务与依赖包(lib文件夹下)在同一级目录下,此为图1内容.图二内容展示的是单个微服务内的文件结构,部署配置文件以及所打的jar包,这

  • SpringBoot应用快速部署到K8S的详细教程

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容: 所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 背景 对于生产环境,我们一般会用CI&&CD工具完成整个构建和部署,因此本文不适合生产环境:对于学习和开发环境,我们频繁修改代码,又想快速见到效果,本文就是针对这种场景的: 内容简介 如果您正在开发SpringBoot应用,并且应用部署在K8S环境,可以参考本文将应用快速部署到K8S环

  • docker部署蜗牛影院系统详细流程分析

    环境声明 宿主机OS: Cetnos7.9 最小化安装 docker Version: 20.10.6 系统要求硬件配置: CPU2核以上,内存8G cpu核心数低于2核,影院端将无法登录 mysql数据库: mysql5.6 容器 redis数据库: redis4.0 容器 安装centos7.9 先停止防火墙和关闭SELinux 查看防火墙状态 firewall-cmd --state #或 systemctl status firewalld.service 停止firewall syst

  • jenkins+maven+svn自动部署和发布的详细图文教程

    Jenkins Jenkins是一个开源的.可扩展的持续集成.交付.部署的基于web界面的平台.允许持续集成和持续交付项目,无论用的是什么平台,可以处理任何类型的构建或持续集成. 通常我们使用Jenkins主要实现以下功能: 持续集成指的是,频繁地(一天多次)将代码集成到主干.将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误. 持续交付指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审.如果评审通过,代码就进入生产阶段. 正文开始 博主前几个月刚被忽悠到一

  • 小程序接入腾讯位置服务的详细流程

    最近在写微信小程序,遇到了一些坑,在网上也查了好多,感觉都没有我想要的答案,在这里总结下,希望可以帮助大家 第一步:进入腾讯位置服务 第二步:点击接入指引 根据上图进行登录,然后验证手机和邮箱,再前往申请秘钥(key) 以上步骤完成后: 进入key的申请页面: 重点提示:小程序不需要在WebServiceAPI填写域名,否则会报错 完成后便可以在小程序里面使用,以下则是在小程序的写入流程, 首先下载腾讯位置服务SDK 下载完后放到你方便调用的文件里面,我的是放在util.js里面. 然后引入到j

  • idea整合docker快速部署springboot应用的详细过程

    目录 一.前言 二.环境及工具 三.安装docker以及配置远程连接 四.idea连接远程docker 一.前言 容器化一词相信大家已经不陌生了,听到它我们可能会想到docker.k8s.jenkins.rancher等等.那么今天我来说一下idea如何使用docker快速部署springboot应用. 二.环境及工具 windows10(开发) centos 7.6 (部署) idea docker xshell 三.安装docker以及配置远程连接 安装docker步骤网上有很多,在这里还是

随机推荐