自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 一文读懂 Docker Compose(白话版)

摘要:Docker Compose简化多容器管理 Docker Compose是通过YAML文件一键管理多容器应用的工具,类比餐厅后厨团队协调工作。核心优势包括:快速启动关联服务(如Web+数据库)、团队环境共享、自动处理服务依赖、保持环境一致性。安装仅需3步:下载二进制文件、赋权、验证版本。常用命令如up/down启停服务、logs查看日志、exec进入容器。典型工作流从编写docker-compose.yml开始,通过命令控制全生命周期,显著提升开发效率。使用后,原本复杂的手动容器管理变为声明式配置,适

2025-06-09 16:20:25 871

原创 生产集群环境中优雅使用 Docker Network

生产环境中使用docker network记录说明

2025-06-09 09:15:23 1087

原创 Dockerfile使用与最佳实践

Dockerfile 是构建 Docker 镜像的文本配置文件,包含一系列指令,让 Docker 按照步骤自动创建容器镜像。核心概念包括基础镜像(FROM 指令)、分层机制(每条指令生成一个只读层)和构建上下文(.dockerignore 可优化)。常用指令有:RUN(执行命令)、COPY(复制文件)、WORKDIR(设置工作目录)、CMD/ENTRYPOINT(定义容器启动命令)、ENV(设置环境变量)等。最佳实践建议选择轻量基础镜像、合并 RUN 指令减少层数、使用非 root 用户运行容器,并合理利用

2025-06-03 17:18:08 910

原创 Docker安装Redis集群(3主3从+动态扩容、缩容)保姆级教程含踩坑及安装中遇到的问题解决

本文分析了Redis分布式存储的三种核心算法及其应用场景。首先介绍哈希取余分区算法,其简单易用但扩容时需重新洗牌;其次阐述一致性哈希算法,通过虚拟环结构解决容错和扩展问题,但存在数据倾斜风险;最后详细讲解哈希槽分区,采用16384个槽位均匀分布数据,实现高效扩展和故障转移。针对集群搭建,强调物理隔离的重要性,推荐3服务器方案(每台部署1主1从),确保故障域隔离和真正高可用性。三种算法各有优劣,需根据实际需求选择。

2025-06-02 15:00:18 810

原创 Docker安装MySQL集群(主从复制)

本文详细介绍了使用Docker部署MySQL主从集群的完整流程。首先创建主从服务器实例并配置挂载目录,通过修改my.cnf文件设置字符集、server_id等关键参数。接着在主服务器创建同步用户并授权,在从服务器配置主从复制关系。最后通过测试验证主从同步功能,包括数据库创建、表操作等同步效果。文章还记录了部署过程中遇到的防火墙问题及解决方案,并提供了关键配置参数说明,为数据库容器化部署提供了实用参考。整个部署过程兼顾安全性和可靠性,实现了生产环境下的数据同步需求。

2025-05-24 18:21:21 764

原创 Docker安装MySQL数据库-单机版

本文详细介绍了如何在本地Windows系统上使用Docker安装和配置MySQL 5.7数据库。首先,通过Docker Hub查找并拉取MySQL 5.7镜像,然后使用docker run命令启动容器,并配置端口映射、数据卷挂载、root密码及字符集等参数。接着,通过命令行和客户端工具测试数据库连接,确保容器正常运行。最后,验证了数据库的基本操作和字符集设置。整个过程展示了从安装到使用的完整步骤,适合初学者快速上手Docker部署MySQL。

2025-05-19 17:58:10 540

原创 Docker容器数据卷

数据卷是Docker中用于持久化存储的机制,它允许将宿主机上的目录或文件挂载到容器中,从而绕过联合文件系统,实现数据的持续存储和共享。数据卷的设计目的是确保数据的持久化,即使容器被删除,数据也不会丢失。通过使用-v参数,可以在运行容器时挂载数据卷,同时使用--privileged=true参数解决权限问题。数据卷的特点包括在容器间共享数据、实时生效的更改、不包含在镜像更新中以及生命周期持续到没有容器使用为止。此外,可以通过--volumes-from参数实现数据卷的继承和共享,使多个容器能够访问同一数据卷,

2025-05-19 09:19:50 347

原创 Docker镜像

镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像:同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。Docker中的镜像分层,支持通过扩展现有镜像,创建新的镜像。

2025-04-27 10:42:38 703

原创 Tomcat 开启远程调试

配置好以后,点击 debug 模式启动,在想调试的代码行,打上断点,就可以远程调试了。Linux服务器下,编辑Tomcat bin 目录下的 startup.sh 文件。这种方式,只需要在启动的时候添加一句命令即可,如下。address为设置的远程 debug 端口。在第一行加入:(不换行,在同一行)

2023-09-25 21:44:50 3266

原创 Vue 父子组件通信$ref调用踩坑

Vue 父子组件通信$ref 延迟问题

2023-03-24 17:29:49 1765

原创 并发编程 — 内存模型 JMM

Java 内存模型之JMM

2022-07-23 15:17:53 416

原创 并发编程 — 如何中断/停止一个运行中的线程?

如何中断/停止一个运行中的线程?

2022-07-03 17:23:12 1261

原创 并发编程 — 死锁排查及处理

Java 多线程死锁处理

2022-07-02 14:31:05 640

原创 Mac 安装 nvm 报错 - Failed to connect to raw.githubusercontent.com port 443: Connection refused解决方案

Mac 安装 nvm

2022-06-21 19:57:01 2370

原创 Vue 回调函数 传多个参数

Vue 回调函数 传多个参数

2022-06-21 08:36:49 3100

原创 并发编程之 CompletableFuture

CompletableFuture 异步编程

2022-06-19 14:04:08 1817

原创 线程中的用户线程和守护线程

用户线程、守护线程

2022-06-14 08:58:58 289

原创 Java 中线程的启动原理分析

Java 中,启动线程的方式与线程启动的原理

2022-06-12 16:55:42 446

原创 Spring 深度学习 — 高仿 Spring(AOP)

通过高仿 Spring AOP功能,了解 AOP 的设计思想及理念。

2022-05-27 16:39:39 309

原创 Spring深度学习 — 高仿 Spring(MVC)

通过高仿 Spring MVC 功能,深刻理解设计思想。

2022-05-24 15:37:00 224

原创 Spring深度学习 — 高仿 Spring(IOC/DI)

高仿 Spring,深度理解 spring 思想

2022-05-19 15:14:56 310 1

原创 Spring 深度学习 — 手写简易版 SpringMVC【思想学习】

通过 mini版本的 Spring MVC 来了解 spring 的基本设计思想

2022-05-15 17:39:39 466

原创 Spring 深度学习 — 常用注解

spring 常用注解梳理

2022-05-15 11:51:34 135

翻译 Spring深度学习 — 关于 Spring

本篇主要了解 Spring 的前世今生及整体轮廓。

2022-05-12 18:48:51 436

转载 MyBatis if test 判断字符串踩坑

MyBatis if test 判断字符串是否相等

2022-04-15 15:43:04 7093 1

原创 Java 注解

希望通过本文可以帮助对注解存在迷惑的小伙伴儿

2022-04-09 15:00:12 498

原创 Java 反射

Java 反射原理

2022-04-07 16:26:01 518

原创 Java 泛型

Java 泛型

2022-04-04 13:13:54 721

原创 HashMap 源码分析

HashMap 源码分析,动态扩容以及链表、红黑树之间的转换过程

2022-04-03 15:05:09 655

原创 ArrayList 源码分析

ArrayList的初始化过程及动态扩容机制源码分析

2022-03-23 10:46:27 1045

原创 MySQL 分组后取最新记录

MySQL 分组后取最新记录

2022-03-18 20:38:32 2700 4

原创 MySQL 两张表取差集

MySQL 差集、left join

2022-03-17 09:28:33 5754

原创 MySQL 列以逗号分隔转成多行

MySQL 列转行、MySQL逗号拆分转多行

2022-03-14 11:17:55 10869

原创 Java8-Lambda表达式及Stream API

Java8、Lambda 表达式、函数式接口、Stream API

2022-03-12 17:50:15 1121

转载 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value:

MySQL-datetime 、Java-LocalDateTime

2022-03-09 14:34:27 2137

原创 JSP 页面中的 c:forEach 遍历对数据添加分隔符

JSP 页面中的 c:forEach 遍历对数据添加分隔符

2022-03-03 14:06:33 940

转载 The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes

The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit这个错误是因为JSP文件太大了导致的。如果是纯粹的Tomcat,找到Tomcat安装目录下conf文件夹下的web.xml文件,在如下位置,添加红色字体的参数。(/usr/local/apache-tomcat-8.5.29/conf/web.xml)<servlet>&.

2022-02-24 10:21:31 2559

原创 MySQL 事务与锁

MySQL 事务、隔离级别、MVCC、锁

2022-02-20 17:58:58 248

原创 jQuery触发 a 标签点击事件

jQuery触发 a 标签点击事件

2022-02-17 15:05:24 7915 2

原创 ERROR 1071 (42000): Specified key was too long; max key length is 3072 bytes

MySQL、前缀索引、index

2022-02-15 14:38:10 21220 2

空空如也

空空如也

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

TA关注的人

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