胡伟煌

个人博客

etcdctl-V2

1. etcdctl介绍 etcdctl是一个命令行的客户端,它提供了一下简洁的命令,可理解为命令工具集,可以方便我们在对服务进行测试或者手动修改数据库内容。etcdctl与其他xxxctl的命令原理及操作类似(例如kubectl,systemctl)。 用法:etcdctl [global options] command [command options][args…] 2. Etcd常......

[Docker] Docker源码分析(三)之Docker Server

一、Docker Server创建流程 Docker Server是Daemon Server的重要组成部分,功能:接收Docker Client发送的请求,并按照相应的路由规则实现请求的路由分发,最终将请求处理的结果返回给Docker Client。 Docker Daemon启动,在mainDaemon()运行的最后创建并运行serverapi的Job,让Docker Daemon提供A......

Docker常用命令原理图

1. 基本概念 1.1. image layer(镜像层) 镜像可以看成是由多个镜像层叠加起来的一个文件系统,镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。 根据上图,镜像层的主要组成部分包括镜像层id,镜像层指针【指向父层】,元数据【layer metadata】包含了docker构建和运行的信息还有父层的层次信息。 只读层和读写层【top layer】的......

Docker整体架构图

1. Docker的总架构图 docker是一个C/S模式的架构,后端是一个松耦合架构,模块各司其职。 用户是使用Docker Client与Docker Daemon建立通信,并发送请求给后者。 Docker Daemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受Docker Client的请求; Engine执行Docker内部的一系列工作,每一项工作都......

[Docker] Docker源码分析(一)之Docker Client

一、创建Docker Client ​ Docker是一个client/server的架构,通过二进制文件docker创建Docker客户端将请求类型与参数发送给Docker Server,Docker Server具体执行命令调用。 Docker Client运行流程图如下: 说明:本文分析的代码为Docker 1.2.0版本。 (一)Docker命令flag参数解析 Docker......

[Docker] Docker源码分析(二)之Docker Daemon

一、Docker Daemon架构示意图 Docker Daemon是Docker架构中运行在后台的守护进程,大致可以分为Docker Server、Engine和Job三部分。 Docker Daemon可以认为是通过Docker Server模块接受Docker Client的请求,并在Engine中处理请求,然后根据请求类型,创建出指定的Job并运行。 运行过程的作用有以下几种可能:......

Dockerfile使用说明

1. Dockerfile的说明 dockerfile指令忽略大小写,建议大写,#作为注释,每行只支持一条指令,指令可以带多个参数。 dockerfile指令分为构建指令和设置指令。 构建指令:用于构建image,其指定的操作不会在运行image的容器中执行。 设置指令:用于设置image的属性,其指定的操作会在运行image的容器中执行。 2. Dockerfile指令说明 2.1. ......

Flannel介绍

1. flannel是什么(what) 1.1. 概述 Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。 Flannel官网:https://github.com/coreos/flannel 1.2. 补充知识点 1、覆盖网络[overlay network] 运......