Docker,containerd,CRI,CRI-O,OCI,runc
转自: https://zhuanlan.zhihu.com/p/490585683 自 Docker 开启了使用容器的爆发式增长,有越来越多的工具和标准来帮助管理和使用这项容器化技术,与此同时也造成了有很多术语让人感到困惑。 比如 Docker, containerd, CRI, CRI-O, OCI, runc,本篇将解释容器生态系统是如何在一起工作的。 容器生态系统容器生态系统是由许多令人兴奋的技术、大量的专业术语和大公司相互争斗组成的。 幸运的是,这些公司偶尔会在休战中走到一起合作,商定一些标准,这些标准有助于使这个生态系统在不同的平台和操作系统之间更具互操作性,并减少对单一公司或项目的依赖。 这张图显示了 Docker、Kubernetes、CRI、OCI、containerd 和 runc 在这个生态系统中是如何结合的。 其工作流程简单来说是这样的: Docker,Kubernetes 等工具来运行一个容器时会调用容器运行时(CRI)比如 containerd,CRI-O 通过容器运行时来完成容器的创建、运行、销毁等实际工作 Docker 使用的是 co...
NIO 基础
NIO 基础non-blocking io 非阻塞 IO 1. 三大组件1.1 Channel & Bufferchannel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层 graph LR channel --> buffer buffer --> channel 常见的 Channel 有 FileChannel DatagramChannel SocketChannel ServerSocketChannel buffer 则用来缓冲读写数据,常见的 buffer 有 ByteBuffer MappedByteBuffer DirectByteBuffer HeapByteBuffer ShortBuffer IntBuffer LongBuffer FloatBuffer DoubleBuffer CharBuffer 1.2 Select...
解决境内访问GitHub出现dns污染问题
本文旨在通过修改系统的hosts文件,来达到正常访问的目的 这里先给各位一个可以正常使用的github的ip地址,后面我们再说如何获取github ip地址的访问。这里,给各位提供的github的ip地址为:15.164.81.167。 linux 系统hosts文件修改方法ssh终端输入如下命令并回车: 1vi /etc/hosts 接着输入一个i键,进入插入模式。 添加如下代码: (windows系统修改C:Windows\System32\drivers\etc\hosts文件加入下面相同的内容即可) 1215.164.81.167 github.com15.164.81.167 www.github.com 摁下ESC键,退出插入模式。输入:wq保存并退出文件即可 接着终端输入ping github.com测试是否可以ping通即可。得到类似如下内容即可: 1234567[root@iZwz98biiph4vhee88vxj8Z ~]# ping github.comPING github.com (15.164.81.167) 56(84) byte...
Java BigDecimal的RoundingMode舍入模式
Java大数类的RoundingMode(舍入模式) java.math.RoundingMode:这是一种枚举类型,它定义了8种数据的舍入模式。它与java.math.BigDecimal类中定义的8个同名静态常量的作用相同,可用BigDecimal.setScale(int newScale, RoundingMode roundingMode)来设置数据的精度和舍入模式。 1、ROUND_UP:向远离零的方向舍入。 若舍入位为非零,则对舍入部分的前一位数字加1;若舍入位为零,则直接舍弃。即为向外取整模式。 2、ROUND_DOWN:向接近零的方向舍入。 不论舍入位是否为零,都直接舍弃。即为向内取整模式。 3、ROUND_CEILING:向正无穷大的方向舍入。 若 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;若为负,则舍入行为与 ROUND_DOWN 相同。即为向上取整模式。 4、ROUND_FLOOR:向负无穷大的方向舍入。 若 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;若为负,则舍入行...
linux.net.ipv4等若干参数
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等。如下配置是写在**/etc/sysctl.conf**中,可使用sysctl -p生效,相关参数仅供参考,具体数值还需要根据机器性能,应用场景等实际情况来做更细微调整。 net.core.netdev_max_backlog = 262144#该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目,我推荐262144。 net.core.optmem_max = 10000000#该参数指定了每个套接字所允许的最大缓冲区的大小 net.core.rmem_default = 10000000#指定了接收套接字缓冲区大小的缺省值(以字节为单位)。 net.core.rmem_max = 16777216#指定了接收套接字缓冲区大小的最大值(以字节为单位,我推荐16M。 net.core.somaxconn ...
