当前位置: 首页 > news >正文

DockerMaven插件

DockerMaven插件

前言

微服务部署我所知的目前有三种方式:

(1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器

(2)通过Maven插件自动部署

(3)在服务器起一个打包容器,将代码拉至容器内,然后在服务器编写dockerfile,k8s配置以及批处理,即可一键部署。

这里实践的为第二种。

环境

JDK8, Springboot2.4.1

步骤

(1)修改宿主机的docker配置,让其可以远程访问

vi /lib/systemd/system/docker.service

其中的ExecStart=后添加配置

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

(2)刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

(3)在工程pom.xml增加配置

<plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><configuration><!-- 最后需要生成的镜像名称  --><imageName>192.168.70.128:5000/${project.artifactId}:${project.version}</imageName><!--<baseImage>openjdk:8-jdk-alpine</baseImage>--><!--<entryPoint>["java","-jar","/${project.build.finalName}.jar]</entryPoint>--><!-- Dockerfile文件存放目录 --><dockerDirectory>${project.basedir}/development</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources><!-- docker远程服务器地址 --><dockerHost>http://192.168.70.128:2375</dockerHost></configuration>
</plugin>

(4)以上配置需要准备Dokcerfile

在pom同级新建目录development,development新建Dockerfile

FROM openjdk:oraclelinux8
MAINTAINER fulin.tang
ADD redis-lock-0.0.1.jar /redis-lock-0.0.1.jar
ENTRYPOINT ["java","-jar","/redis-lock-0.0.1.jar"]

(5)运行命令

mvn clean package -Dmaven.test.skip=true docker:build -DpushImage

(6)运行容器

docker run -di --name redislock -p 8080:8080 192.168.70.128:5000/redis-lock:0.0.1

运行成功!

附完整pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.1</version><relativePath/></parent><groupId>com.tang</groupId><artifactId>redis-lock</artifactId><version>0.0.1</version><name>redis-lock</name><description>Demo project for Spring Boot</description><properties><java.version>8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><exclusions><exclusion><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.15.1</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><configuration><!-- 最后需要生成的镜像名称  --><imageName>192.168.70.128:5000/${project.artifactId}:${project.version}</imageName><!--<baseImage>openjdk:8-jdk-alpine</baseImage>--><!--<entryPoint>["java","-jar","/${project.build.finalName}.jar]</entryPoint>--><!-- Dockerfile文件存放目录 --><dockerDirectory>${project.basedir}/development</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources><!-- docker远程服务器地址 --><dockerHost>http://192.168.70.128:2375</dockerHost></configuration></plugin></plugins></build></project>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-3204.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

ERROR:connect ETIMEDOUT

解决 npm config set registry https://registry.npm.taobao.org...

监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)

监控系统实践第12天&#xff1a;5天上手Laravel8.5之路由篇&#xff08;1/5&#xff09;前言安装与配置Laravel基础功能&#xff1a;路由(Route)路由是什么&#xff1f;设置路由的请求方式定义路由的路径定义路由的内容闭包中定义内容控制器中定义内容视图中定义内容其它内容的…...

python第三方工具包:tushare(专业金融数据接口)

步骤一&#xff1a;第三方工具包tushare提供了python连接到tushare金融数据平台的接口&#xff0c;可以下载各类股票数据。首先需要在anaconda中使用pip install tushare安装tushare安装包。 步骤二&#xff1a;在tushare平台注册帐号&#xff0c;复制自己的token,官网地址如下…...

学习响应式BootStrap来写融职教育网站,Bootsrtap第三天nav布局

nav导航布局 <!DOCTYPE html> <html lang"zh_CN"> <head><meta charset"UTF-8"><title>融职教育</title><!-- 移动设备优先--><meta name"viewport" content"widthdevice-width, initial…...

前端常见跨域解决方案(全)

文章目录什么是跨域&#xff1f;什么是同源策略&#xff1f;同源策略限制以下几种行为常见跨域场景跨域解决方案一、 通过jsonp跨域二、 document.domain iframe跨域三、 location.hash iframe跨域四、 window.name iframe跨域五、 postMessage跨域六、 跨域资源共享&#x…...

不是吧!连Linux都不会你还想月入过W(入门基础篇)

目录 一、Linux概览 二、Linux安装 三、Linux文件管理 四、Linux基本命令 五、Linux高级命令 六、vim编辑器 七、用户和用户组管理 八、权限管理 一、Linux概览 Linux是什么&#xff1f; Linux和我们常见的Windows一样&#xff0c;都是操作系统。 Linux能做什么&…...

因为一个字符校对问题,我的大厂面试挂了

摘要&#xff1a;字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。 本文分享自华为云社区《一个字符校对规则引发的血案》&#xff0c;原文作者&#xff1a;DRS技术快客 。 问题现场 我们先看一个建表语句 CREATE TABLE collate_test ( val1 char(32…...

AndroidUtilCode 最强大的工具类

一、前言&#xff1a; AndroidUtilCode 是一个强大易用的安卓工具类库&#xff0c;它合理地封装了安卓开发中常用的函数&#xff0c;具有完善的 Demo 和单元测试&#xff0c;利用其封装好的 APIs 可以大大提高开发效率&#xff0c;如今它主要包括两部分模块&#xff0c;其一是…...

SVN常用命令集合_艾孜尔江撰

在平时的工作中我们大多数情况下喜欢使用Tortoise SVN之类的可视化版本控制工具&#xff0c;但笔者发现&#xff0c;命令行的方式进行版本控制在执行速度上将会更快一些。尽管在大多数情况下使用命令行并不是很方便&#xff0c;但只要用户习惯了&#xff0c;就非常顺畅了。针对…...

2021年教你增加拿到BAT等大厂offer几率,值得收藏!

开头 最近发现一些读者&#xff0c;留言提到跳槽面试的事情。当中&#xff0c;有几个编程老兵&#xff0c;说他们从事Android 开发多年&#xff0c;薪资却还在原地打转&#xff0c;跳槽升职不是很顺利&#xff0c;十分困惑。这显然是遇到瓶颈期。 就目前大环境来看&#xff0…...

【leetcode游记】竞赛题 1877

数组中最大数对和的最小值。 这道题&#xff0c;老实说光看懂我就看了很久。论刷题的重要性。 总结为&#xff1a;排序题 题目链接&#xff1a; https://leetcode-cn.com/problems/minimize-maximum-pair-sum-in-array/ 数对和&#xff0c;就是两个数相加。 两个数相加的值要…...

什么样才能叫“技术很牛”?

近日&#xff0c;在某论坛上&#xff0c;有人提出了“一直不懂一个问题&#xff0c;什么叫‘技术很牛’&#xff1f;”的问题。详细提问称“说实话&#xff0c;我从本科到硕士&#xff0c;我觉得计算机的技术很多都是看看就会了&#xff0c;多操练下就熟了。可能有些设计问题需…...

phpShort v3.2 – PHP短网址平台源码

介绍&#xff1a; phpShort是高级的URL缩短器平台&#xff0c;它使您可以轻松地缩短链接&#xff0c;根据受众群体的位置或平台来定位受众&#xff0c;并为缩短的链接提供分析见解。 提起这个源码&#xff0c;本站还是发布了该作者的一些其他源码&#xff0c;比如phpAnalytics…...

金三银四大厂面经总结,java怎么快速创建构造方法

前言 Java作为最全面的语言&#xff0c;国内开发者也是最多的&#xff0c;Java综合起来各方面都不错&#xff0c;在大部分场景下是一种稳健的技术选择。加上近年来安卓的推动&#xff0c;目前也是最流行的一种语言。 现在Java的就业市场看起来还是挺大的&#xff0c;而且工资…...

mysql事务

mysql事务四大特性 1.原子性 理解&#xff1a;事务中的所有操作要么全部一起执行&#xff0c;要么在发生的错误的时候全部不执行&#xff0c;也就是事务回滚了 原理&#xff1a;mysql使用undo log逻辑日志进行回滚&#xff0c;mysql会生成redo log和undo log 文件&#xff0c;u…...

SQLzoo 习题记录03-SELECT from Nobel Tutorial Nobel Quiz

目录 SELECT from Nobel Tutorial Nobel LaureatesWinners from 19501962 LiteratureAlbert EinsteinRecent Peace PrizesLiterature in the 1980sOnly PresidentsJohnChemistry and Physics from different yearsExclude Chemists and MedicsEarly Medicine, Late Literatur…...

JavaScript进阶学习笔记(五)--- 严格模式

一、严格模式 1、严格模式的概念 ​ JavaScript 除了提供正常模式外&#xff0c;还提供了严格模式&#xff08;strict mode&#xff09;。ES5 新增的严格模式是采用具有限制性 JavaScript变体的一种方式&#xff0c;即在严格的条件下运行 JS 代码。格模式在 IE10 以上版本的浏…...

Django+MySQL问题 启动server报错

问题&#xff1a; File “D:\Python36\lib\site-packages\django\db\models\query.py”, line 122, in iter for row in compiler.results_iter(): File “D:\Python36\lib\site-packages\django\db\models\sql\compiler.py”, line 828, in results_iter results self.execu…...

Kubernetes入门——Longhorn简介

概述 Longhorn是由Rancher创建的一款云原生的、轻量级、可靠且易用的开源分布式块存储系统。部署到K8s集群上之后&#xff0c;Longhorn会自动将集群中所有节点上可用的本地存储聚集为存储集群&#xff0c;然后利用这些存储管理分布式、带有复制功能的块存储&#xff0c;支持快…...

java初学者应该怎么学?

Java语言每年都在吸引更多同学前来入行&#xff0c;其中不乏存在很多初学者没有任何编程经验的人&#xff0c;那么我们作为初学者应该如何才能学好Java语言呢&#xff1f;小千给你几个建议。 1.切忌眼高手低 小千认为最重要的一点就是千万不要眼高手低&#xff0c;同学们无论是…...

性能工具之Jmeter-Dubbo脚本开发

内容目录&#xff1a; 1、idea 环境项目部署 2、nacos 环境部署 3、dubbo插件部署 4、不带参数请求 5、带参参数请求 Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架&#xff0c;它提供了三大核心能力&#xff1a;面向接口的远程方法调用&#xff0c;智能容错和负载均衡…...

有关斜率的数学题?

转自自家学校的OJ网站 题目描述&#xff1a; Description cdwcgt成为了风纪班的成员&#xff01; 风纪班的主要任务为维持治安、巡逻、注意可疑人物、仲裁吵架、追查违法药品&#xff0c;所涉及范围广大&#xff0c;偶尔会有较危险的工作。 职能与警方有重叠&#xff0c;因此经…...

后端 | SpringBoot整合Dubbo+Nacos2

1.前言 这是一个基于SpringBoot整合Apache DubboNacos的极简教程&#xff0c;笔者使用到的技术及版本如下&#xff1a; SpringBoot 2.4.5 Dubbo 2.7.11 Nacos 2.0.1&#xff08;自行安装&#xff09; Dubbo官网&#xff1a;https://dubbo.apache.org/zh/ Nacos官网&#…...

JavaEE期末考 Struts实例

Struts实例代码Web代码List.jspEdit.jsp配置文件默认包下的struts.xmlWEB-INF下的web.xmlJava代码action包BookAction.javadao包BookDao.javaBookDaoImpl.javadb包DBConnection.javafactory包DAOFactory.javamodel包Book.javaservice包BookService.javap1包和pojo包为空使用的库…...

SpringCloud-07-sleuth+zipkin

Spring Cloud Sleuth是Spring Cloud提供的分布式跟踪解决方案&#xff0c;它借用了Google的Dapper组件的术语&#xff0c;并且兼容Twitter的Zipkin。 Spring Cloud Sleuth官网&#xff1a;https://docs.spring.io/spring-cloud-sleuth/docs/2.2.8.RELEASE/reference/html/#ter…...

鸿蒙系统中StackLayout帧布局

文章目录前言前期准备创建页面StackLayout的使用定义布局定义子组件组件对齐场景展示前言 StackLayout直接在屏幕上开辟出一块空白的区域&#xff0c;添加到这个布局中的视图都是以层叠的方式显示&#xff0c;而它会把这些视图默认放到这块区域的左上角&#xff0c;第一个添加…...

JS的杂记

1.修改元素的内联样式 元素.style.属性名" “; 元素.currentstyle.属性名” "; 修改元素当前的属性值 2.事件的冒泡 取消冒泡 event.cancelbubbletrue; 委派: 把子元素都要发生的事件绑定到祖先元素 3.event.preventdefault(); 取消默认行为 4.setinterval 会返回…...

什么是Promise?

1.Promise&#xff0c;简单说就是一个容器&#xff0c;里面保存着某个未来才会结束的事件&#xff08;通常是一个异步操作&#xff09;的结果。 2.从语法上说&#xff0c;promise 是一个对象&#xff0c;从它可以获取异步操作的的最终状态&#xff08;成功或失败&#xff09;。…...

写了那么久的String字符串,你可能根本不懂它!

本文收录于JavaStarter &#xff0c;里面有我完整的Java系列文章&#xff0c;学习或面试都可以看看 &#xff08;一&#xff09;引言 String str和new String()有什么区别&#xff1f;这个问题之前在面试中有被问到过一次&#xff0c;当时面试结束后也写了自己关于这个题目的理…...

shell与常用命令

虚拟控制台 一台计算机的输入输出设备就是一个物理的控制台 &#xff1b; 如果在一台计算机上用软件的方法实现了多个互不干扰独立工作的控制台界面&#xff0c;就是实现了多个虚拟控制台&#xff1b; Linux终端的工作方式是字符命令行方式&#xff0c;用户通过键盘输入命令进…...

matlab绘制二元一次函数图像_基于MATLAB的数学图像绘制

基于MATLAB的数学图像绘制《MATLAB语言》课程论文基于MATLAB的数学图像绘制姓名&#xff1a;周玉琴学号&#xff1a;[1**********]专业&#xff1a;通信工程班级&#xff1a;通信工程(1)班指导老师&#xff1a;汤全武学院&#xff1a;物理电气信息学院完成日期&#xff1a;2019…...

R语言windows函数生成可视化图像画布框、使用plot函数进行数据可视化

R语言windows函数生成可视化图像画布框、使用plot函数进行数据可视化 目录 R语言windows函数生成可视化图像画布框、使用plot函数进行数据可视化 R 语言特点 R语言windows函数生成可视化图像画布框、使用plot函数进行数据可视化 R可以在CRAN&#xff08;Comprehensive R Arc…...

python/Matplotlib绘制复变函数图像

2018-09-15更新 今天发现sympy依赖的库mpmath里也有很多数学函数&#xff0c;其中也有在复平面绘制二维图的函数cplot&#xff0c;具体例子如下 from mpmath import *def f1(z):return zdef f2(z):return z**3def f3(z):return (z**4-1)**(1/4)def f4(z):return 1/zdef f5(z)…...

cflow——C语言函数调用关系生成器

前言 拿到一份陌生的 C 工程&#xff0c;想要了解整个工程的脉络&#xff0c;你会使用什么方法呢&#xff1f; 函数调用 一般都是通过函数调用关系来理清整个工程的运作流程&#xff0c;通常使用的软件是 source insight。从 main 函数开始&#xff0c;查看 main 函数调用了…...

几何画板如何生成三角函数图像

三角函数是中学时代必学的一类函数&#xff0c;在学习函数知识使如果能动态演示&#xff0c;将有助于学生的理解。正弦函数是三角函数中的第一个函数&#xff0c;正弦函数的图像与性质为后面余弦函数、正切函数打下基础。几何画板作为动态教学工具&#xff0c;可以用来演示生成…...

c语言分析工具——函数调用关系生成图像、流程图生成器

calltree 参考:Linux调试:calltree安装与使用(一个用于静态分析函数调用关系的工具) test.c /* file: test.c */ #include <stdio.h>void func_5(void){printf("hello!\n"); }...

GPU并行计算版函数图像生成器

前几天技术大牛Vczh同学开发了一个函数图像绘制程序&#xff0c;可以画出方程f(x,y)0的图像。他的原理是用图像上每一点的坐标带入函数f得到针对x和y的两个方程&#xff0c;再用牛顿迭代法求解得到一组点集&#xff0c;然后画到图像上。用他的程序可以画出各种各样令人惊叹的方…...

函数生成器

生成器对象 """生成器其实就是自定义迭代器 """ # 定义阶段就是一个普通函数 def my_ge(): print(first) yield 123, 222, 333 print(second) yield 456, 444, 555 """当函数体内含有yield关键字&#xff0c;那么再第一次调用函…...

java 实现画函数图像_函数图像生成器 [基于JAVA的图像生成器设计与实现]

摘要&#xff1a;Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java技术具有卓越的通用性、高效性、平台移植性和安全性。该文基于JAVA语言&#xff0c;在介绍JAVA概念的基础上&#xff0c;实现了图像生成器的简单设计&#xff0c;通过运行程序&#xff0c;可以…...

javascript自制函数图像生成器

出于某种目的想做这个东西&#xff0c;顺便可以提供给GMA的用户&&放在博客园。 实现上只是简单的描点&#xff0c;加上一个相邻两点连线的开关&#xff0c;完全没有技术含量。而且函数图像一旦多起来就会变卡。 瓶颈在隐函数的绘制&#xff0c;这个超烦&#xff0c;计算…...

一个非常好用的数学函数图像生成工具

名称&#xff1a; WZGrapher Function Grapher 一个老外开发的工具&#xff0c;英文界面。 readme: WZGrapher Function Grapher INSTALLATION:If you havent yet, download the ZIP filewzgrapher.zip (german) or wzgrapher_e.zip (english)from http://www.walterzor…...

理解计算机视觉中的损失函数

点击上方“AI公园”&#xff0c;关注公众号&#xff0c;选择加“星标“或“置顶”作者&#xff1a;Sowmya Yellapragada编译&#xff1a;ronghuaiyang导读损失函数在模型的性能中起着关键作用。选择正确的损失函数可以帮助你的模型学习如何将注意力集中在数据中的正确特征集合上…...

【杂谈】那些底层的图像处理问题中,GAN能有什么作为?

最近这一个月有三在知识星球里分享GAN在底层的图像处理中的相关应用&#xff0c;预计会再持续一个月&#xff0c;下面我们对其中的各个方向简单做一些介绍。作者&编辑 | 言有三1 GAN与图像降噪图像在产生和传输过程中都会受到噪声的干扰&#xff0c;因此图像降噪是一个非常…...

视频教程-【吴刚】APP移动交互应用产品设计标准视频教程-UI

【吴刚】APP移动交互应用产品设计标准视频教程 业内知名UID、UED、用户体验、品牌策略与创意设计师&#xff0c;十三年行业职业教育培训经验&#xff0c;业内“UI视频第一人”&#xff0c;教学总监、视觉设计讲师、 Adobe认证讲师。在水晶石、传智播客、千锋互联、达内时代等知…...

FLutter中inheritedwidget的使用

import package:demoflutter/main_base2.dart; import package:flutter/material.dart; import package:flutter/services.dart show rootBundle ; import package:dio/dio.dart;import dart:convert; import dart:async;import dart:io;void main() {runApp(MaterialApp(titl...

视频教程-【吴刚】网页元素设计WUI初级入门视频教程-UI

【吴刚】网页元素设计WUI初级入门视频教程 业内知名UID、UED、用户体验、品牌策略与创意设计师&#xff0c;十三年行业职业教育培训经验&#xff0c;业内“UI视频第一人”&#xff0c;教学总监、视觉设计讲师、 Adobe认证讲师。在水晶石、传智播客、千锋互联、达内时代等知名商…...

视频教程-【吴刚】企业官方网站设计初级入门标准教程-UI

【吴刚】企业官方网站设计初级入门标准教程 业内知名UID、UED、用户体验、品牌策略与创意设计师&#xff0c;十三年行业职业教育培训经验&#xff0c;业内“UI视频第一人”&#xff0c;教学总监、视觉设计讲师、 Adobe认证讲师。在水晶石、传智播客、千锋互联、达内时代等知名商…...

视频教程-【吴刚】个人网站设计初级入门标准视频教程-UI

【吴刚】个人网站设计初级入门标准视频教程 业内知名UID、UED、用户体验、品牌策略与创意设计师&#xff0c;十三年行业职业教育培训经验&#xff0c;业内“UI视频第一人”&#xff0c;教学总监、视觉设计讲师、 Adobe认证讲师。在水晶石、传智播客、千锋互联、达内时代等知名商…...

视频教程-【吴刚大讲堂】视觉设计快速入门50讲-UI

【吴刚大讲堂】视觉设计快速入门50讲 业内知名UID、UED、用户体验、品牌策略与创意设计师&#xff0c;十三年行业职业教育培训经验&#xff0c;业内“UI视频第一人”&#xff0c;教学总监、视觉设计讲师、 Adobe认证讲师。在水晶石、传智播客、千锋互联、达内时代等知名商业培训…...

视频教程-【吴刚】PS软件基础实用技巧标准视频教程-UI

【吴刚】PS软件基础实用技巧标准视频教程 业内知名UID、UED、用户体验、品牌策略与创意设计师&#xff0c;十三年行业职业教育培训经验&#xff0c;业内“UI视频第一人”&#xff0c;教学总监、视觉设计讲师、 Adobe认证讲师。在水晶石、传智播客、千锋互联、达内时代等知名商业…...