上一篇,顺着云计算的发展史,我们看到了兴起于 PaaS 技术普及的容器技术,看到了容器技术通过容器镜像彻底解决了打包问题,按照连续思维,其实接下来应该讲讲 Docker 出现之后有哪些竞争对手,为什么 Docker 可以胜出,连带着让 Docker 几乎等同于容器技术本身,容器编排竞争中 Swarm 为什么输给了 Kubernetes,不过出于个人对整个云原生知识网络的感受,我觉得可以在这次开个分支,先不谈历史,讲一下 Docker 的实现原理。

本文主要是解释 Docker 沙盒的工作原理,回答诸如但不限于以下问题:

  • 为什么容器里只能跑“一个进程”?
  • 容器和虚拟机有什么区别?
阅读全文 »

  上一篇,我们主要分析了 Docker 沙盒机制的实现原理。但是光有沙盒还不够,Docker 为了实现“一致性”,引入了 Docker 镜像这一项伟大的创举,使得容器的传递和迁移更加简单,这一篇我们来用一个扒一扒 Docker 镜像的具体原理。

阅读全文 »

是时代选择了 Docker?还是 Docker 选择了时代?

本文是云原生系列的第二篇文章,主题是回顾容器的发展史。
在 PaaS 林立的时代,为什么开发者最终选择了 Docker?Docker 又是以怎样姿态给与了 PaaS 世界“降维打击”,直接宣告了 PaaS 时代的结束呢?

阅读全文 »

  最近几年,相信大家都越来越多的在各种场合各种平台听到过了“云原生”这个词。
  比如,关于云原生应用的“Twelve-Factor App”理论,现在已经是基础设施的现象级容器技术,几乎已经等同于容器本身的 Docker,还有容器编排技术 Kubernetes,以及 Kubernetes 背后的 CNCF(云原生计算基金会)。
  那么,什么才是“云原生”呢?什么样的系统架构才能被称为云原生架构呢?

阅读全文 »


昨日在新生命团队钉钉群中,看到大石头老师分享了他们实现的 IndexOf 算法,据说可以做到 O(1),第一反应是几乎不可能,了解之后得知是使用了 Boyer Moore 字符串搜索算法,据说这种算法常用于 IDE 工具的查找,比 KMP 更快,所以有了对各种常用字符串查找算法做一下 Benchmark 的想法。

阅读全文 »

  本次的描述的主体是指发生在 2021 年 7 月 13 日晚上 23 点左右的,无响应时间持续约半小时左右,完全恢复时间约8小时的宕机事件。
  本文内容是作者依据网上公开信息和个人在当时的体验综合分析而来,精确的时间线可能存在一定程度的错漏,仅代表作者本人的观点,如有雷同,纯属巧合。

阅读全文 »

  日常使用 Windows 系统时,如果需要在命令行中直接使用程序,则需要把程序的目录加到环境变量 Path 中,而很多时候,程序目录其实会包含很多程序的依赖文件,或者其他不适合在 Path 中的文件,每当有这种需求的时候都添加一条新的路径到 Path 中也不大友好,那么,如何操作,才能优雅又简单呢?

  下面我借鉴 Windows 平台的老牌包管理工具 Chocolatey ,使用其内置的工具 ShimGen 来解决这个问题。

阅读全文 »

鉴于大部分免费SSL证书都是针对特定二级域名的,而 Let’s Encrypt 提供通配符证书,却需要每三个月续期一次,经过摸索,鼓捣出了一个方案,遂记录。

阅读全文 »

鉴于 Microsoft 官方并没有提供官方的 CentOS8 的 WSL2 包,甚至 CentOS 的官方也并没有提供对应的包(Ubuntu 是微软和官方都有提供的),联想到 WSL2 和 Docker 在某种意义上是十分类似的,rootfs 都是核心,猜测可能会有方法使用官方提供标准包更广泛的 Docker 包的 rootfs 直接建立 WSL2 应用,经过摸索,发现可以使用 LxRunOffline 搞定,遂记录。

阅读全文 »