docker run源码分析(一)之Docker client

1、什么是Docker?

Docker Linux 平台上的一款轻量级虚拟化容器的管理引擎。在全球范围内, Docker 还是一个开源项目,整个项目基于 Go 语言开发,代码托管于 GitHub 网站上,并遵从 Apache 2.0 协议。目前, Docker 可以帮助用户在容器内部快速自动化部署应用,并利用 Linux 内核特性命名空间( namespaces) 及控制组( cgroups) 等为容器提供隔离的运行环境。Docker 借助操作系统层的虚拟化实现资源的隔离,因此 Docker 容器在运行时与虚拟机 (VM) 的运行有很大的区别, Docker 容器与宿主机共享同一个操作系统,不会有额外的操作系统开销。

2、Docker总体架构图

查看架构图详解,请参考:https://www.infoq.cn/article/docker-source-code-analysis-part1

3、背景:

了解Docker源码解析Dockerfile的流程,了解docker build以及docker run 在client、daemon和engine端的处理。

4、 源码基于Docker-ce17.09.

5、源码:

Docker Client 是Docker 架构中用户与 Docker Daemon 建立通信的客户端。从main()函数开始,位置点击

5.1、流程:(截图于博友,自己作图太麻烦,跟17.09有点差别,自己对比)

5.2、源码分析:

docker client的入口函数main,在main中处理传入的参数,并把参数转化为cobra的command类型,最后通过cobra调用相应的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值