我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

构建开发项目

首先打开我们的IDEA构建一个我们的开发项目,配置如下:

在这里插入图片描述

接着打开我们的pom.xml修改build的配置,修改以后的代码如下:


<build>
        <finalName>docker-automation-demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>com.github.lazyBoyl</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0-release</version>
                <configuration>
                    <!-- 需要上传到服务器的jar包所在的位置 -->
                    <jarTargetPath>${basedir}/target/docker-automation-demo.jar</jarTargetPath>
                    <!-- 创建镜像的dockerFile的本地配置文件的路径 -->
                    <dockerFilePath>${basedir}/dockerFile/Dockerfile</dockerFilePath>
                    <!-- 我们的dockerFile文件和相应的jar包的文件上传到服务器的路径 -->
                    <dockerImagesPath>/home/app/docker/test/</dockerImagesPath>
                    <!-- 该工程启动的时候的日志文件的挂载,前面的为本地的服务器的路径,分号后面的为docker容器中的文件路径 -->
                    <containerRunShare>/home/app/logs/docker-plugin-test/log/:/app/www/logs/docker-plugin-test/log/</containerRunShare>
                    <!-- 该工程启动的时候的端口映射,多个端口那就对应着启动多少个容器 -->
                    <containerRunPorts>
                        <containerRunPort>8088:8088</containerRunPort>
                    </containerRunPorts>
                    <options>
                        <!-- 服务器的ip:端口,账号,密码 -->
                        <option>
                            10.10.10.114:22,root,123456
                        </option>
                    </options>
                </configuration>
                <executions>
                    <execution>
                        <!-- 设置该插件的执行的生命周期为package完成以后执行,若不想绑定就将executions这块的代码注释了,后面就不会在打包好以后再去执行docker插件的操作 -->
                        <phase>package</phase>
                        <goals>
                            <!--phase与goal是绑定的关系,当g到达了phase阶段的时候就会去执行goal,此处的值固定为dockerMavenPlugin,因为插件给予他的名字就是dockerMavenPlugin -->
                            <goal>dockerMavenPlugin</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

接着我们在我们的主入口类的同级目录底下创建一个controller包,同时在该目录底下创建一个测试的TestController.java的测试入口类,代码如下:


package com.docker.automation.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/test")
public class TestController {

    private Logger logger = LoggerFactory.getLogger(TestController.class);

    
    @GetMapping("sendMsg")
    public String sendMsg(@RequestParam("msg") String msg) {
        logger.debug("收到请求过来的消息:{}", msg);
        return msg;
    }

}

最后记得在application.yml里面配置上我们的端口未8088

配置dockerFile的配置文件

接着在工程的class="lazy" data-src的同级目录创建一个dockerFile文件夹,同时在该文件夹底下创建一个Dockerfile文件

在这里插入图片描述

接着打开DockerFile配置文件配置信息如下:


FROM base-jdk
   MAINTAINER linzf <282245889@qq.com>
   RUN mkdir -p /app/www/logs/docker-automation-demo/log/
   RUN mkdir -p /home/app/
   ADD docker-automation-demo.jar /home/app/app.jar
   CMD java -jar -Xms128m -Xmx1536m /home/app/app.jar

到此处我们就完成了我们的工程的docker的配置,如何创建基础镜像、如何部署docker这些大家可以直接看我的docker系列文章:https://blog.csdn.net/linzhefeng89/article/details/78413387

最后我们直接点击我们IDEA的package命令进行打包,那么我们的maven插件会自动帮我们将我们的包打包部署到我们的docker容器中。

在这里插入图片描述

接着我们直接访问我们的微服务的地址:http://10.10.10.114:8088/test/sendMsg?msg=wytuy

到此为止我们就完成了我们的自动化部署插件的讲解,具体代码请查看github的地址:
https://github.com/lazyboyl/docker-automation-demo

到此这篇关于maven实现docker自动化部署插件的使用的文章就介绍到这了,更多相关maven docker自动化部署内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Maven Web项目怎么使用Cargo插件实现自动化部署

这篇文章主要讲解了“Maven Web项目怎么使用Cargo插件实现自动化部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Maven Web项目怎么使用Cargo插件实现自动化部署”吧!M
2023-07-05

Maven Web项目使用Cargo插件实现自动化部署的详细步骤

cargo,它是一组帮助用户实现自动化部署,操作Web容器的工具,并且几乎支持所有的Web容器,这篇文章主要介绍了Maven Web项目使用Cargo实现自动化部署,需要的朋友可以参考下
2023-02-21

Maven+Tomcat8 实现自动化部署的方法

本文介绍了Maven+Tomcat8 实现自动化部署的方法,分享给大家,具体如下:1.配置tomcat-users.xml首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml):
2023-05-31

docker自动化部署怎么实现

要实现Docker的自动化部署,可以采用以下步骤:1. 编写Dockerfile:根据项目需求编写Dockerfile文件,定义Docker镜像的构建流程、依赖关系和环境配置等。2. 使用CI/CD工具:选择一个适合的CI/CD工具(如Je
2023-08-12

使用Docker自动化部署MySQL集群

本文主要是简化mysql主从搭建,同时给需要学习mysql主从的同学一个现成的环境。
MySQLDocker2024-11-29

使用GitHub Actions实现自动化部署

大家在工作中想必都是通过自动化部署来进行前端项目的部署的,也就是我们在开发完某个需求时,我们只需要将代码推送到某个分支,然后就能自动完成部署,我们一般不用关心项目是如何build以及如何deploy的,这就极大得提高了我们的开发效率。

Docker容器化Nginx的自动化构建与部署(如何实现Nginx在Docker中的自动化构建与部署?)

本文介绍了使用Docker自动化Nginx构建和部署的详细步骤。通过创建Dockerfile、使用DockerCompose定义服务、运行持续集成和部署(CI/CD)管道,可以实现Nginx在Docker容器中的自动化构建和部署。该方法提供了自动化、一致性、可移植性和可扩展性,从而简化应用程序开发和部署,提高效率和可靠性。
Docker容器化Nginx的自动化构建与部署(如何实现Nginx在Docker中的自动化构建与部署?)
2024-04-02

Gogs+Jenkins+Docker实现自动化部署.NetCore的方法步骤

本篇内容主要讲解“Gogs+Jenkins+Docker实现自动化部署.NetCore的方法步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Gogs+Jenkins+Docker实现自动化部署
2023-06-20

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的自动化部署流程

摘要:本文旨在介绍如何使用Docker Compose、Nginx和MariaDB来自动化部署PHP应用程序。我们将使用Docker Compose来管理容器化的应用程序,并使用Nginx作为反向代理服务器,同时与MariaDB数据库集成。
2023-10-21

怎么在Springboot服务中实现自动化部署Docker

怎么在Springboot服务中实现自动化部署Docker?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。微服务部署方式(1)手动部署:首先基于源码打包生成jar包(或war
2023-06-14

Docker助力Linux应用实现应用的自动化部署与测试

Docker是一种开源容器化技术,它允许开发者将应用程序及其所有依赖项打包到一个标准化的容器中,确保应用在任何环境中都能一致运行。以下是Docker助力Linux应用实现应用的自动化部署与测试的相关信息:Docker在自动化部署与测试中的
Docker助力Linux应用实现应用的自动化部署与测试
2024-10-07

Linux实现项目的自动化部署

一、自动化部署git项目 #!/bin/bash# 清除项目进程和历史文件 pkill -f start.py sleep 1 cd /root/automation |rm -rf testProduce/# 获取项目最新git代码(前提
2022-07-08

怎么使用Jenkins和Git来实现自动化部署

这篇文章主要介绍“怎么使用Jenkins和Git来实现自动化部署”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Jenkins和Git来实现自动化部署”文章能帮助大家解决问题。一、为什么需要自
2023-07-05

基于Docker、Nginx和Jenkins如何实现前端自动化部署

这篇文章给大家分享的是有关基于Docker、Nginx和Jenkins如何实现前端自动化部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前期准备基于CentOS 7系统云服务器一台。基于Vue-CLI的项目部署
2023-06-20

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录