自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LoveSummer

https://github.com/andanyoung

  • 博客(746)
  • 资源 (13)
  • 论坛 (3)
  • 问答 (4)
  • 收藏
  • 关注

原创 Docker(一):这可能是最为详细的Docker入门总结
原力计划

Docker 是什么?说了这么多, Docker 到底是个什么东西呢?我们在理解 Docker 之前,首先得先区分清楚两个概念,容器和虚拟机。可能很多读者朋友都用过虚拟机,而对容器这个概念比较的陌生。我们用的传统虚拟机如 VMware , VisualBox 之类的需要模拟整台机器包括硬件。每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给它的资源将全部被占用。每一台虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。而容器技术是和我们的宿主机共享硬件资源及操作系统,可以实现资

2020-07-09 16:23:04 797

原创 详解 Mysql LEFT JOIN和JOIN查询区别及原理
原力计划

一、Join查询原理查询原理:MySQL内部采用了一种叫做 nested loop join(嵌套循环连接)的算法。Nested Loop Join 实际上就是通过驱动表的结果集作为循环基础数据,然后一条一条的通过该结果集中的数据作为过滤条件到下一个表中查询数据,然后合并结果。如果还有第三个参与 Join,则再通过前两个表的 Join 结果集作为循环基础数据,再一次通过循环查询条件到第三个表中查询数据,如此往复,基本上MySQL采用的是最容易理解的算法来实现join。所以驱动表的选择非常重要,驱动表的数据

2020-06-28 10:42:06 3915

原创 必学必会的nginx配置location匹配顺序总结

location匹配顺序1."="前缀指令匹配,如果匹配成功,则停止其他匹配2.普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配)3.正则表达式指令匹配,按照配置文件里的顺序,成功就停止其他匹配4.如果第三步中有匹配成功,则使用该结果,否则使用第二步结果注意点匹配的顺序是先匹配普通字符串,然后再匹配正则表达式。另外普通字符串匹配...

2019-06-18 16:36:08 17837 1

原创 Spring Cloud Alibaba 升级改造:老项目升级到微服务的重构策略

本文咱们介绍六条改造策略:严禁 Big Bang(一步到位);尽早体现价值;优先分离做前后端;新功能构建成微服务;利用 Spring AOP 开发低侵入的胶水代码;基于 MQ 构建反腐层。开始之前,我们先来分析下为什么要进行微服务化改造。在项目发展初期或者规模不大的时候,架构师和程序员主要关注是如何快速交付商业价值,很多项目开始时并没有经过架构层面的精细打磨,也没有考虑架构的延展性。在紧迫的工期下,所有人员都在关注如何尽快实现业务代码,这是在中国乃至全世界中小型软件

2021-06-18 00:50:00 56

原创 Spring Cloud Alibaba 性能为王:微服务架构中的多级缓存设计

本讲咱们探讨缓存这个话题,看在微服务环境下如何设计有效的多级缓存架构。本讲涉及三方面内容:Web 应用的客户端缓存;应用层静态资源缓存;服务层多级缓存。首先,咱们先讲解微服务架构的多级缓存设计。微服务架构中的多级缓存设计提到缓存,想必每一位软件工程师都不陌生,它是目前架构设计中提高性能最直接的方式。这里我们举个例子:假设应用程序将原始数据存储在 MySQL 数据库中。众所周知 MySQL 数据库会将数据存储在硬盘以防止掉电丢失,但是受制于硬盘的物理设计,即便是目前性能最好的企

2021-06-17 23:56:09 41

原创 Spring Cloud Alibaba 消息队列:基于 RocketMQ 实现服务异步通信

本讲咱们将学习以下三方面内容:介绍消息队列与 Alibaba RocketMQ;掌握 RocketMQ 的部署方式;讲解微服务接入 RocketMQ 的开发技巧;首先咱们先来认识什么是消息队列 MQ 呢?消息队列与 RocketMQ消息队列 MQ消息队列(Message Queue)简称 MQ,是一种跨进程的通信机制,通常用于应用程序间进行数据的异步传输,MQ 产品在架构中通常也被叫作“消息中间件”。它的最主要职责就是保证服务间进行可靠的数据传输,同时实现服务间的解耦。这么说

2021-06-17 23:02:38 4

原创 Spring Cloud Alibaba 综合应用:Seata 分布式事务实战教程

在前面的章节,我们分别讲解了 Spring Cloud Alibaba 中主要的组成部分,其中包括:注册中心与配置管理组件 Nacos、Ribbon 客户端负载均衡、OpenFeign 与 Dubbo 通信组件、Sentinel 服务限流与熔断保护组件、Sleuth+Zipkin 与 Skywalking 实现分布式追踪、Seata 分布式事务组件以及 RocketMQ 消息异步通信中间件,这些组件各司其职为微服务架构提供了有效的支撑。从本章开始,我们综合运用这些组件,再结合我多年来分布式开发的经验,为你

2021-06-16 23:54:30 22

原创 Spring Cloud Alibaba 高级特性 分布式事务:Alibaba Seata 如何实现分布式事务

本讲咱们要解决分布式事务这一技术难题,这一讲咱们将介绍三方面内容:讲解分布式事务的解决方案;介绍 Alibaba Seata 分布式事务中间件;分析 Seata 的 AT 模式实现原理。分布式事务的解决方案下面咱们先聊一下为什么会产生分布式事务。咱们举个例子,某线上商城会员在购买商品的同时产生相应的消费积分,消费积分在下一次购物时可以抵用现金。这个业务的逻辑如果放在以前的单点应用是很简单的,如下所示。开启数据库事务创建订单会员积分增加商品库存减少提交数据库事务在这个过

2021-06-16 23:40:44 10

原创 Spring Cloud Alibaba 高级特性 应用性能监控:通过 SkyWalking 实施链路追踪

上一讲我们掌握了基于 Sleuth+Zipkin 对微服务架构实施基于日志的链路追踪,通过 Sleuth 在微服务应用中附加链路数据,再通过 Zipkin 实现链路数据收集与可视化,从而保证开发与运维人员在生产环境了解微服务的执行过程与具体细节,为产品运维提供了有力的保障。本讲咱们还是围绕链路追踪这个话题,介绍另一款著名的链路追踪产品 SkyWalking,掌握 SkyWalking 的使用方法。本讲咱们将介绍三方面内容:介绍 APM 与 SkyWalking;部署 SkyWalking 服务

2021-06-16 01:05:22 10

原创 Spring Cloud Alibaba 高级特性 基于 Sleuth+Zipkin 实施链路跟踪体系

在前面几讲我们主要讲解了基于 Sentinel 如何对微服务架构提供限流、熔断保护。从本讲开始,我们继续完善微服务架构,介绍如何在 Spring Cloud 架构下基于 Sleuth+Zipkin 实现微服务链路追踪。本讲咱们将学习以下三方面内容:介绍微服务链路追踪的原理;讲解基于 Spring Cloud Sleuth 实现链路追踪;构建 Zipkin Server 实现链路追踪的可视化管理。下面咱们先来介绍什么是微服务链路追踪。微服务链路追踪我们先看一个图,都知道在微服务架构下,

2021-06-10 20:51:34 12

原创 Spring Cloud Alibaba 生产实践:Sentinel 进阶应用场景

上一讲我为各位讲解了 Nacos 配置中心的用途及配置技巧。本讲咱们基于上一讲的成果,学习如何在生产环境下通过 Nacos 实现 Sentinel 规则持久化。本讲咱们将介绍三方面内容:Sentinel 与Nacos整合实现规则持久化;自定义资源点进行熔断保护;开发友好的异常处理程序。Sentinel 与 Nacos 整合实现规则持久化细心的你肯定在前面 Sentinel的使用过程中已经发现,当微服务重启以后所有的配置规则都会丢失,其中的根源是默认微服务将 Sentinel 的规则

2021-06-10 00:29:56 22

原创 Spring Cloud Alibaba 配置中心:基于 Nacos 集中管理应用配置

上一讲我们讲解 Sentinel 中熔断与限流的处理方式,了解了 Sentinel 对系统实施保护的原理。本讲咱们对原有主线内容做一个扩展,先来讲解基于 Nacos 如何集中管理应用配置,实现微服务架构中“配置中心”组件。本讲内容与本章“系统保护”的主题并不冲突,因为构建 Nacos 配置中心正是 Sentinel 实现集群保护的基础所在,前面咱们在 Dashboard 配置的一系列规则都要在生产环境中基于 Nacos 配置中心进行持久化存储。本讲咱们将讲解以下三方面内容:为什么微服务架构必须部署

2021-06-09 23:58:38 27

原创 Spring Cloud Alibaba 系统保护 - 限流与熔断:Sentinel 在项目中的最佳实践

上一讲我们讲解了微服务的雪崩效应与如何基于 Sentinel 实现初步微服务限流,掌握了部署 Sentinel Dashboard与配置 Sentinel Core 客户端的技巧。本讲咱们继续 Sentinel 这个话题,将更有针对性的讲解 Sentinel 底层的细节与限流、熔断的各种配置方式。本讲咱们主要学习三方面内容:Sentinel 通信与降级背后的技术原理;Sentinel 限流降级的规则配置;Sentinel 熔断降级的规则配置。Sentinel Dashboard通信

2021-06-09 23:25:02 10

原创 Spring Cloud Alibaba 系统保护:微服务架构雪崩效应与服务限流

前面我们介绍了 OpenFeign 微服务间通信与 Spring Cloud Gateway 网关通信,这些是日常业务中的正常处理情况,但是在微服务环境下受制于网络、机器性能、算法、程序各方面影响,运行异常的情况也在显著提升,如果不做好异常保护,微服务架构就像空中楼阁一样随时可能会崩溃,从本节我们开始一个新话题:微服务的系统保护。通过这个话题,我们就可以了解在 Spring Cloud Alibaba 生态下解决雪崩等一系列危机整体架构安全的方法。这一讲我们先来对 Alibaba Sentinel 做入门

2021-06-09 22:13:42 6

原创 Spring Cloud Alibaba 服务门户:Spring Cloud Gateway 如何把好微服务的大门

上一讲我们学习了 Dubbo 是如何与 Nacos 协同作业。通过对比 RESTful 与 RPC,我们介绍了两种通信方式的区别,再通过实例讲解如何将 Dubbo 与 Nacos 进行整合。但你是否发现无论是基于 OpenFeign 的 RESTful 通信,还是基于 Dubbo 的 RPC 通信,它们都在强调的是微服务间的信息传递,属于微服务架构内部的事情。而对于用户端从外侧访问微服务如何有效管理,微服务又是如何将接口暴露给用户呢?这就需要通过 API 网关实现需求了,本讲咱们就针对 API 网关学习三方

2021-06-09 11:37:10 12

原创 Spring Cloud Alibaba 之 RPC 消息:Dubbo 与 Nacos 体系如何协同作业

上一节我介绍了什么是 OpenFeign 通信组件,讲解了如何基于 OpenFeign 实现微服务间的高可用通信。本文我们将继续探讨微服务通信话题,了解阿里巴巴自家的 RPC 框架 Dubbo 是如何与 Spring Cloud Alibaba 协同作业的。在本文我们将介绍以下三方面内容:对比 RESTful 与 RPC;介绍 Dubbo 的特点;讲解 Dubbo 与 Spring Cloud Alibaba 的整合过程。RESTful 与 RPC 的区别在微服务定义中提道,每个小

2021-06-09 11:36:11 10

原创 Spring Cloud Alibaba 之 服务通信 REST消息通信:如何使用 OpenFeign 简化服务间通信

上一讲我们学习了 Ribbon 与 RestTemplate 两个组件。Ribbon 提供了客户端负载均衡,而 RestTemplate 则封装了 HTTP 的通讯,简化了发送请求的过程。两者相辅相成构建了服务间的高可用通信。不过在使用后,你也应该会发现 RestTemplate,它只是对 HTTP 的简单封装,像 URL、请求参数、请求头、请求体这些细节都需要我们自己处理,如此底层的操作都暴露出来这肯定不利于项目团队间协作,因此就需要一种封装度更高、使用更简单的技术屏蔽通信底层复杂度。好在 Spring

2021-06-09 00:12:35 32

原创 Spring Cloud Alibaba 负载均衡:Ribbon 如何保证微服务的高可用

上一讲我们对 Nacos 的集群环境与实现原理进行了讲解,我们已经可以轻松将单个微服务接入到 Nacos 进行注册,但是微服务本不是孤岛,如何实现有效的服务间稳定通信是本文即将介绍的主要内容,本次我们将主要学习三方面知识:介绍 Ribbon 负载均衡器;讲解 Ribbon+RestTemplate 两种实现方式;讲解 Ribbon 的负载均衡策略。Ribbon 负载均衡器在介绍 Ribbon 之前,咱们先来认识下负载均衡以及它的两种实现方式。负载均衡顾名思义,是指通过软件或者硬件

2021-06-08 23:53:12 13

原创 Spring Cloud Alibaba【Nacos 服务治理】 高可用保证:Nacos 如何有效构建注册中心集群

上一节我们学习了 Nacos 注册中心的作用以及单点运行的方法,但是单点运行是分布式应用的大忌,在分布式架构中,任何单点都可能成为系统的瓶颈,因此在生产环境中 Nacos 都需要通过部署集群来为系统带来高可用性。因此本文围绕 Nacos 集群主要讲解以下三方面内容:生产环境 Nacos 集群的设计要点;Nacos 集群的部署过程;介绍 Nacos 集群的工作原理。如何在生产环境部署 Nacos 集群首先介绍下之前我们在国内某互联网金融机构在项目中落地的 Nacos 集群

2021-06-08 23:34:32 10

原创 Spring Cloud Alibaba 之 服务治理:Nacos 如何实现微服务服务治理

前文我们学习了通用的微服务架构应包含哪些组件以及 Spring Cloud Alibaba 生态中对应的技术实现,其中整个架构体系最核心的组件是服务注册中心 Alibaba Nacos。本讲我们就对 Nacos 展开探讨,学习它的使用办法。在本讲我们会讲解三方面内容:介绍 Nacos 注册中心的特性;微服务如何在 Nacos 进行注册登记;Nacos 注册中心的心跳机制与健康检查。Nacos 注册中心的特性我们以现实业务为例,某超市会员线上购物送等额积分,此积分在下次购

2021-06-08 23:05:30 31

原创 微服务生态与 Spring Cloud Alibaba

通用的微服务架构应包含哪些组件相对于单体式架构的简单粗暴,微服务架构将应用打散,形成多个微服务进行独立开发、测试、部署与运维。虽然从管理与逻辑上更符合业务需要,但微服务架构也带来了诸多急需解决的核心问题:如何发现新服务节点以及检查服务节点的状态?如何发现服务及负载均衡如何实现?服务间如何进行消息通信?如何对使用者暴露服务 API?如何集中管理众多服务节点的配置文件?如何收集服务节点的日志并统一管理?如何实现服务间调用链路追踪?如何对系统进行链路保护,避免微服

2021-06-08 22:41:22 11

原创 redis面试全家桶

一.Redis简介Redis 是完全开源免费的,是一个高性能的key-value类型的内存数据库。整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,因此Redis可以用来实现很多有用的功能,比方说用List来做FIFO双向链表

2021-05-06 19:40:12 16

原创 面试官:说说什么是Java内存模型?

**国内篇**1、SoBooks(我的最爱)传送门:https://sobooks.ccSoBooks 图书下载网站是本人最喜欢的一个,它不仅书的种类齐全,而且质量也是相当的高,长期这里获取资源让我受益匪浅。下载方式也很简单,每本书都可以获取百度网盘、微盘等下载站链接,直接下载或者保存网盘即可。不过电子书格式为.azw3,需要手动转换成PDF格式推荐个好用的在线转换PDF工具:https://cloudconvert.comhttps://convertio.co/zh/2、ePUBe

2021-05-06 16:01:37 35 1

转载 一口气说出 6 种 @Transactional 注解的失效场景

一、事务事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。编程式事务:是指在代码中手动的管理事务的提交、回滚等操作,代码侵入性比较强,如下示例:try { //TODO something transactionManager.commit(status);} catch (Exception e) { transactionManager.rollback(status); throw new Invo

2021-04-30 13:48:32 51

原创 彻底给你讲清楚分布式事务原理

0. 前言从 CPU 到内存、到磁盘、到操作系统、到网络,计算机系统处处存在不可靠因素。工程师和科学家努力使用各种软硬件方法对抗这种不可靠因素,保证数据和指令被正确地处理。在网络领域有 TCP 可靠传输协议、在存储领域有 Raid5 和 Raid6 算法、在数据库领域有 基于 ARIES 算法理论实现的事务机制……这篇文章先介绍单机数据库事务的 ACID 特性,然后指出分布式场景下操作多数据源面临的困境,引出分布式系统中常用的分布式事务解决方案,这些解决方案可以保证业务代码在操作多个数据源的时候,能够像

2021-04-29 17:40:25 21

原创 SpringBoot 实战定时任务 Scheduled

序言使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式:一、基于注解(@Scheduled)二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。三、基于注解设定多线程定时任务一、静态:基于注解基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上一个任务执行时间的影响。1、创建定时器使用SpringBoot基于注

2021-04-29 14:46:48 21

原创 Mybatis 3.5.X 解析LocalDateTime 错误问题

Mybatis 3.5.X 解析localdatetime 错误问题jdk1.8 增加了localdatetime、localdate等,相对于以前的Date 来说,有非常多方便的api,但是如果Mybaits3.5.X等版本在解析locadatetime时会发生错误,java.sql.SQLFeatureNotSupportedException通常解决方法是直接添加依赖: <dependency> <groupId>com.fasterxml.jackson.da

2021-04-28 20:40:51 64

原创 Spring boot 实战 利用 Sharding-jdbc实现数据库的读写分离

读写分离原理的什么这里就不讲了,直接来看看使用 sharding-jdbc 来实现读写分离先看配置# 配置真实数据源spring.shardingsphere.datasource.names=ds0,ds1,s0# 配置第 1 个数据源spring.shardingsphere.datasource.ds0.type=com.alibaba.druid.pool.DruidDataSourcespring.shardingsphere.datasource.ds0.driver-class.

2021-04-28 13:29:47 29

转载 sharding-jdbc分库分表的 4种分片策略

如果我一部分表做了分库分表,另一部分未做分库分表的表怎么处理?怎么才能正常访问?这是一个比较典型的问题,我们知道分库分表是针对某些数据量持续大幅增长的表,比如用户表、订单表等,而不是一刀切将全部表都做分片。那么不分片的表和分片的表如何划分,一般有两种解决方案。严格划分功能库,分片的库与不分片的库剥离开,业务代码中按需切换数据源访问默认数据源,以 Sharding-JDBC 为例,不给未分片表设置分片规则,它们就不会执行,因为找不到路由规则,如果我们设置一个默认数据源,在找不到规则时一律访问默认库.

2021-04-28 11:28:40 126

转载 一文快速入门分库分表中间件 Sharding-JDBC

一、Sharding-JDBC 简介Sharding-JDBC 最早是当当网内部使用的一款分库分表框架,到2017年的时候才开始对外开源,这几年在大量社区贡献者的不断迭代下,功能也逐渐完善,现已更名为 ShardingSphere,2020年4⽉16⽇正式成为 Apache 软件基⾦会的顶级项⽬。随着版本的不断更迭 ShardingSphere 的核心功能也变得多元化起来。从最开始 Sharding-JDBC 1.0 版本只有数据分片,到 Sharding-JDBC 2.0 版本开始支持数据库治理(注册

2021-04-28 11:17:20 53

转载 快速入门分库分表概念原理

什么是分库分表其实 分库 和 分表 是两个概念,只不过通常分库与分表的操作会同时进行,以至于我们习惯性的将它们合在一起叫做分库分表。分库分表是为了解决由于库、表数据量过大,而导致数据库性能持续下降的问题。按照一定的规则,将原本数据量大的数据库拆分成多个单独的数据库,将原本数据量大的表拆分成若干个数据表,使得单一的库、表性能达到最优的效果(响应速度快),以此提升整体数据库性能。如何分库分表分库分表的核心理念就是对数据进行切分(Sharding),以及切分后如何对数据的快速定位与查询结果整合。而分库与分

2021-04-28 11:07:29 32

转载 Elastricsearch 索引操作详解(快速入门、索引管理、映射详解、索引别名)

一、快速入门1. 查看集群的健康状况http://localhost:9200/_cathttp://localhost:9200/_cat/health?v说明:v是用来要求在结果中返回表头状态值说明Green - everything is good (cluster is fully functional),即最佳状态Yellow - all data is available but some replicas are not yet allocated (cluster is f

2021-04-20 14:03:31 71

转载 Elasticsearch 常用配置参数总结

# ---------------------------------- Cluster -----------------------------------# Use a descriptive name for your cluster: # 集群名称,用于定义哪些elasticsearch节点属同一个集群。cluster.name: bigdata # ------------------------------------ Node --------------------------

2021-04-20 09:54:43 45

转载 别再说你不会 ElasticSearch 调优了,都给你整理好了

第一部分:调优索引速度第二部分:调优搜索速度第三部分:通用的一些建议英文原文:https://www.elastic.co/guide/en/elasticsearch/reference/current/how-to.htmlES发布时带有的默认值,可为es的开箱即用带来很好的体验。全文搜索、高亮、聚合、索引文档 等功能无需用户修改即可使用,当你更清楚的知道你想如何使用es后,你可以作很多的优化以提高你的用例的性能,下面的内容告诉你 你应该/不应该 修改哪些配置第一部分:调优索引速度.

2021-04-20 09:40:44 44

原创 Elasticsearch: 索引别名Aliases

业务问题业务需求是不断变化迭代的,也许我们之前写的某个业务逻辑在下个版本就变化了,我们可能需要修改原来的设计,例如数据库可能需要添加一个字段或删减一个字段,而在搜索中也会发生这件事,即使你认为现在的索引设计已经很完美了,在生产环境中,还是有可能需要做一些修改的,需要添加映射字段或者需要修改字段类型等等。数据库中我们可以直接修改原来的表设计语句,前提是需要做好数据迁移。但是在 Elasticsearch 中就没那么简单了。尽管可以增加新的类型到索引中,或者增加新的字段到类型中,但是不能添加新的分析器或者对

2021-04-19 18:11:12 32

原创 全文搜索引擎Elasticsearch,这篇文章给讲透了

之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的以及它的使用和基本原理。生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和 非结构化数据。结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长

2021-04-19 16:17:12 27

转载 Docker层和虚悬镜像(dangling image)介绍

当你拉取Docker镜像时,你会注意到它被拉取成不同的层。另外,当你创建自己的Docker镜像时,也会创建多个层。在本文中,我们将更好地理解Docker层。1.什么是Docker层?Docker镜像由几层组成。每层都对应 Dockerfile中的特定指定。Docker层创建指令有: RUN, COPY, ADD。其他指令将创建中间层,并且不会影响镜像的大小。我们看一个例子:创建一个Spring Boot MVC应用程序 并且在Maven构建中创建Docker镜像。以上这些资源可从 GitHub 获得。

2021-04-16 15:06:35 85

原创 docker小技巧-清理未使用空间

删除数据卷数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据卷,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个参数。删除容器与数据卷停止容器docker stop XXX-v 参数用于删除数据卷docker rm -v XXX删除未使用的volume#列出未使用的volume$ docker volume ls -qf d

2021-04-15 16:17:30 54

转载 Dockerfile ENV和ARG的区别与应用

在写Dockerfile时, ENV和ARG,包括.env都是很容易弄混的概念。让我们对其进行区分。.env文件和docker-compose.yml配合使用。并不和Dockerfile一起使用env_file在Dockerfile中使用,当环境变量很多,可食用该参数,指定对应的变量文件。ARG在Dockerfile中使用,仅仅在build docker image的过程中(包括CMD和ENTRYPOINT)有效,在image被创建和container启动之后,无效。如果你在Dockerfil

2021-04-15 10:47:11 80

原创 【Spring boot 实战】使用Maven插件构建Docker镜像

本文主要介绍如何使用Maven插件将SpringBoot应用打包为Docker镜像,并上传到私有镜像仓库Docker Registry的过程。Docker RegistryHarbor 2.x搭建 参考《搭建Harbor 2.x仓库 - docker私仓搭建》这里不再累赘。使用Maven构建本地Docker镜像我们以项目spring-admin为例在应用的pom.xml文件中添加dockerfile-maven-plugin的依赖 <plugin> .

2021-04-14 11:17:24 58

navicat for mac 完美破解版

navicat for mac 完美破解版

2017-08-04

Maven基础讲义.zip

Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词 语,代表专家、内行的意思。 一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模 型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标 (goal)的逻辑。

2019-07-30

SurfaceView

SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。

2015-05-05

Navicat.7z

Navicat Premium 是一个数据库开发工具,允许您从单个应用程序连接到MySQL,MariaDB,SQL Server,Oracle,PostgreSQL和SQLite数据库。与Amazon RDS,Amazon Aurora,Amazon Redshift,SQL Azure,Oracle Cloud和Google Cloud等云数据库兼容。您可以快速轻松地构建,维护和维护数据库。

2020-03-26

android 选项卡TanHost

选项卡主要有TabHost、TabWiget和 FramentLayout3个组件组成,用于实现一个多标签的用户界面,通过他可以将一个复杂的对话分隔成若干个标签页,实现对信息的分类显示和管理。使用给组件不仅可以使界面美观大方,还可以有效地减少窗体个数。 在Android中,实现选项卡的一半步骤如下: (1)在布局文件中添加实现选项卡所需的TabHost、TabWiget和 FramentLayout组件。 (2)编写各个标签页中要显示内容所对应的XML布局文件。 (3)在Activity个,获取并初始化TabHost组件。 (4)为TabHost对象添加标签页。

2015-05-02

JDK_API_1_6

JDK_API_1_6,中文版Java1.6API帮助文档。适合于初学者,学习参考之用。

2015-05-17

CameraDemo

Android SDK支持操作Android设备内置的照相机。从Android2.3开始,支持操作多个摄像头(主要指前置摄像头和后置照相机)。通过照相机可以拍照和录像。快速拍照

2015-05-02

C语言程序设计_2003.pdf

C语言程序设计 何钦铭,颜晖主编2003—电子书

2015-07-05

C语言API函数速查.chm

C语言库函数API[CHM文档]是一个很好的C语言函数查询器.属于CHM文档.

2015-07-05

JsonDemo

JsonDemo

2015-05-03

西蒙iPhone-OpenGL ES 教程【中文翻译版PDF】

西蒙OpenGL ES 教程 IOS开发,ios技术文档,网络收集整理。西蒙iphone-OpenGL ES 教程,共13篇。第8、12章由于有更好的技术,所以被译者跳过。

2017-09-01

api web

W3CSchool很不错的WEB开发API。

2015-05-17

JAVA_正则表达式简介

JAVA_正则表达式简介详解

2015-05-03

Young丶的留言板

发表于 2020-01-02 最后回复 2020-04-15

求vs2012怎么连接Oracle,大神们求助!!!

发表于 2015-05-09 最后回复 2015-05-21

求android studio1.1官方有中文版的补丁下载地址

发表于 2015-04-06 最后回复 2015-04-07

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除