马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
文章_Linux运维_在非docker情况中编译安装docker
近来要修改 docker 的源码做一些开发。
但是 docker 的官网给的编译方式是用 docker 提供的 dockerfile 文件构建一个 docker 容器然后在这个容器内里通过脚本编译 docker。
我们都知道 1.11 以后的 docker 现实上有 docker, dockerd, docker-containerd, runc 几个历程构成。
如果我修改一次就要全部编译一遍多贫苦。以是我觉定本身 go build 出 docker 的几个可实行文件。
1. 编译前准备
现在 docker 的代码从 github.com/docker/docker 迁移到了 github.com/moby/moby。
- git clone github.com/moby/moby
复制代码 固然在编译之前还须要安装 go。这个 Golang 官网都有阐明, 按照阐明安装就好。
2. 编译 docker
编译 docker 就是编译 docker client。
这里以 1.13.x 分支为例, 代码在 cmd/docker 下。
在你的 GOPATH 路径下另有一个 docker/docker 的目次你要保持 docker 下的分支和 moby 下的划一。否则在 moby 下 build 会堕落。
然后实行 go build。会天生 docker 的 bin 文件。
3. 编译 dockerd
编译 dockerd 的时间须要安装许多包。
可以根据错误提示安装须要的包。</
|