docker源码阅读笔记(一)---- docker的入口

# docker源码的入口
位置  /docker/docker/docker.go

# 主要步骤:
## 初始化一个进程reexec.Init 

## 基于操作系统平台,设置终端仿真,设置标准输入输出,和错误。
stdin, stdout, stderr := term.StdStreams()

## 将clientFlags 标志位,commonFlags标志位合并到flag.CommandLine中,再对flag标志为进行解析,

## 根据标志位的bool(flVersion 和 flHelp)值,输出version 和 help信息

## 初始化一个cli实例,以DockerCli和daemonCli为参数,daemonCli是一个cli.Handler事件处理器。

## 将刚刚创建的cli实例 c.Run(flag.Args()...) run起来。在run这个方法当中,通过解析参数,用反射机制来找到需要被客户端执行的方法method := reflect.ValueOf(c).MethodByName(methodName)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值