记一个 Docker 镜像无法运行的坑

最近在工作中遇到了一个 Docker 镜像无法运行的问题,事后总结时发现其中有几个点挺有意思,值得记录下来以备后用,也可以避免其他人踩坑。一、运行镜像报错我的开发环境是 Windows,使用 Docker Desktop 作为本地 Do...

- 阅读剩余部分 -

博客升级小记

由于几年前一直在做 .Net 相关的开发,于是在阿里云上买了一台 Windows Server 的主机,在上面用 IIS 搭建 Web 环境还是比较方便的。后来写 PHP,也是用的 Windows 环境,那个时候比较流行 SAE 搭建本地开发环境,非常简单,还写...

- 阅读剩余部分 -

搭建自己的 Git 服务器

根据 RhodeCode 在 2016 年做过的一项分析报告 Version Control Systems Popularity in 2016,在如今的 VCS(版本控制系统)领域,Git 几乎已经一统江山,在选择自己的 VCS ...

- 阅读剩余部分 -

实战 Prometheus 搭建监控系统

Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于做视频分享的 YouTube,由于他们在微服务架构的道路上越走越远,出现了成百上千的服...

- 阅读剩余部分 -

Typecho 文章二维码插件

15 年的时候,我曾经写过一个 Typecho 文章二维码的插件,发布在 Typecho 的论坛里,自那以后,由于时间和精力有限(其实是由于懒癌和拖延症晚期),这个插件一直没有更新过。当时写这个插件时是基于 jeromeetienne/jquery-qrc...

- 阅读剩余部分 -

新技术学习笔记:RabbitMQ

在分布式系统中,消息队列(Message Queue,简称 MQ) 用于交换系统之间的信息,是一个非常重要的中间组件。早在上世纪 80 年代,就已经有消息队列的概念了,不过当时叫做 TIB(The Information Bus),当时的消息队列大多...

- 阅读剩余部分 -

新技术学习笔记:ZooKeeper

第一次接触 ZooKeeper 是在使用 Dubbo 服务框架的时候,当时对 ZooKeeper 只是停留在知道和了解的层面,公司的 ZooKeeper 都是由运维统一安装和管理,对于我们开发人员来说就是在程序的配置文件中加一行注册中心的地址而已。...

- 阅读剩余部分 -

读 MySQL 源码再看 INSERT 加锁流程

在之前的博客中,我写了一系列的文章,比较系统的学习了 MySQL 的事务、隔离级别、加锁流程以及死锁,我自认为对常见 SQL 语句的加锁原理已经掌握的足够了,但看到热心网友在评论中提出的一个问题,我还是彻底被问蒙了。...

- 阅读剩余部分 -

最简单的一个 Spring Boot 项目

最近在项目中使用 Spring Boot,对它的简单易用印象很深刻。Spring Boot 最大的特点是它大大简化了传统 Spring 项目的配置,使用 Spring Boot 开发 Web 项目,几乎没有任何的 xml 配置。...

- 阅读剩余部分 -

解决死锁之路(终结篇) - 再见死锁

在前面的几篇博客中,我们学习了事务,隔离级别,各种锁类型,以及各种 SQL 语句的加锁原理,这一系列的知识学习下来,断断续续,竟然已经过去了大半年的时间。随着对数据库原理的学习越来越深入,越发现一发不可收拾,这里面的水实在是太深了。这是这...

- 阅读剩余部分 -