【docker 17 源码分析】 Docker Client源码分析

深藏阁楼爱情的钟 2022-09-30 15:53 312阅读 0赞

Docker Client源码分析

一. Docker Client的创建

Docker Client的创建,实质上是Docker用户通过可执行文件docker,与Docker Server建立联系。入口代码docker/cmd/docker.go

  1. func main() {
  2. // Set terminal emulation based on platform as required.
  3. stdin, stdout, stderr := term.StdStreams()
  4. logrus.SetOutput(stderr)
  5. dockerCli := command.NewDockerCli(stdin, stdout, stderr)
  6. cmd := newDockerCommand(dockerCli)
  7. if err := cmd.Execute(); err != nil {
  8. if sterr, ok := err.(cli.StatusError); ok {
  9. if sterr.Status != "" {
  10. fmt.Fprintln(stderr, sterr.Status)
  11. }
  12. // StatusError should only be used for errors, and all errors should
  13. // have a non-zero exit status, so never exit with 0
  14. if sterr.StatusCode == 0 {
  15. os.Exit(1)
  16. }
  17. os.Exit(sterr.StatusCode)
  18. }
  19. fmt.Fprintln(stderr, err)
  20. os.Exit(1)
  21. }
  22. }

一. Docker Client的创建

Docker Client的

一. Docker Client的创建

Docker Client的

发表评论

表情:
评论列表 (有 0 条评论,312人围观)

还没有评论,来说两句吧...

相关阅读