2023年3月5日

安装和卸载Docker

摘要: 安装最新的Docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos 阅读全文

posted @ 2023-03-05 09:50 王景迁 阅读(20) 评论(0) 推荐(0) 编辑

docker存储目录

摘要: 1 目录结构 docker存储目录是/var/lib/docker。 2 image目录 image/overlay2/distribution: 从远端拉到本地的镜像相关元数据image/overlay2/imagedb: 镜像数据库image/overlay2/layerdb: 镜像每层的元数据 阅读全文

posted @ 2023-03-05 09:37 王景迁 阅读(886) 评论(0) 推荐(0) 编辑

2023年3月4日

容器生命周期

摘要: 5种容器状态 初建状态Created — kubelet created运行状态Up — kubelet running停止状态Exited — kubelet exited暂停状态Paused — kubelet running删除状态Deleted docker kill、docker stop 阅读全文

posted @ 2023-03-04 11:51 王景迁 阅读(85) 评论(0) 推荐(0) 编辑

2023年2月25日

实现docker run命令

摘要: 基于宿主机来创建容器 执行命令 《自己动手写Docker》code-3.1 ./mydocker run -ti /bin/bash 代码流程 1. 解析参数。2. 通过clone来fork一个Namespace隔离的容器进程。3. 调用自己/proc/self/exe初始化容器(挂载proc文件系 阅读全文

posted @ 2023-02-25 17:08 王景迁 阅读(76) 评论(0) 推荐(0) 编辑

2023年2月20日

volatile

摘要: 缓存一致性问题 每个线程都有自己的工作内存。线程在初始化时从主内存读取所需的变量值到工作内存。在线程运行时,如果是读取则从工作内存中读取,如果是写入则先写到工作内存再刷新到主内存。在并发情况下可能出现不同线程持有不同的共享变量值。例如,A线程修改了共享变量值并刷新到主内存,但B、C线程在读取该共享变 阅读全文

posted @ 2023-02-20 07:44 王景迁 阅读(14) 评论(0) 推荐(0) 编辑

2023年2月19日

Java生产者消费者模式

摘要: 生产者不断向队列中添加数据,消费者不断从队列中获取数据。如果队列满了,则生产者不能添加数据;如果队列为空,则消费者不能获取数据。通过实现了BlockingQueue接口的LinkedBlockingQueue来模拟同步。 import java.util.concurrent.BlockingQue 阅读全文

posted @ 2023-02-19 21:56 王景迁 阅读(23) 评论(0) 推荐(0) 编辑

证书操作

摘要: 通过自签名证书的方式生成证书流程 1. 生成自签名根证书 # 创建根证书私钥root.key openssl genrsa -out root.key 1024 # 创建根证书请求文件root.csr openssl req -new -out root.csr -key root.key # 创建 阅读全文

posted @ 2023-02-19 21:00 王景迁 阅读(51) 评论(0) 推荐(0) 编辑

基于四叉树的小顶堆(最小优先队列)

摘要: 实现来自Go源码 从下往上调整堆 func siftupTimer(t []*timer, i int) bool { if i >= len(t) { return false } when := t[i].when tmp := t[i] for i > 0 { // 除非到达堆顶,否则每次和当 阅读全文

posted @ 2023-02-19 19:50 王景迁 阅读(78) 评论(0) 推荐(0) 编辑

flannel提供的3种后端实现

摘要: UDP(flanneld封装和解封装UDP) 实现原理 缺点(性能最差) UDP模式,封装和解封装的对象是三层IP包,提供三层的Overlay网络,是Flannel最早支持的一种方式,也是性能最差的一种方式,已经被弃用。在发出IP包的过程中需要经过3次用户态与内核态之间的数据拷贝。 第1次,用户态的 阅读全文

posted @ 2023-02-19 15:43 王景迁 阅读(102) 评论(0) 推荐(0) 编辑

2023年2月18日

高CPU Java应用分析

摘要: 模拟CPU 40%左右 import java.util.concurrent.CountDownLatch; public class Main extends Thread { private CountDownLatch c; public Main(String name, CountDow 阅读全文

posted @ 2023-02-18 15:46 王景迁 阅读(30) 评论(0) 推荐(0) 编辑

导航