【docker 17 源码分析】 Docker Client源码分析
Docker Client源码分析
一. Docker Client的创建
Docker Client的创建,实质上是Docker用户通过可执行文件docker,与Docker Server建立联系。入口代码docker/cmd/docker.go
func main() {
// Set terminal emulation based on platform as required.
stdin, stdout, stderr := term.StdStreams()
logrus.SetOutput(stderr)
dockerCli := command.NewDockerCli(stdin, stdout, stderr)
cmd := newDockerCommand(dockerCli)
if err := cmd.Execute(); err != nil {
if sterr, ok := err.(cli.StatusError); ok {
if sterr.Status != "" {
fmt.Fprintln(stderr, sterr.Status)
}
// StatusError should only be used for errors, and all errors should
// have a non-zero exit status, so never exit with 0
if sterr.StatusCode == 0 {
os.Exit(1)
}
os.Exit(sterr.StatusCode)
}
fmt.Fprintln(stderr, err)
os.Exit(1)
}
}
一. Docker Client的创建
Docker Client的
一. Docker Client的创建
Docker Client的
还没有评论,来说两句吧...