设为首页 收藏本站
查看: 922|回复: 0

[经验分享] DOCKER源码编译

[复制链接]

尚未签到

发表于 2018-5-28 06:50:32 | 显示全部楼层 |阅读模式
  官方建议docker源码编译在docker容器内进行,因为官方提供的容器内已经继承了编译需要的环境,如果非要自己搭建编译环境也不是不可以,就是稍微有些繁琐。以下以1.8.2版本为例。
1.pull docker-dev:1.8.2的镜像
docker pull docker-dev:版本  具体版本可以查看官网。
ps:该镜像较大,可以考虑从国内镜像下载。
2.创建目录存放docker编译后生成的文件夹
[root@myserv home]# mkdir -p /home/dockerbuild/bundles[root@myserv home]# cd /home/dockerbuild/3.运行pull得到的docker-dev镜像,然后在容器里进行docker的编译工作
[root@myserv home]# docker run --rm -it --privileged \
  -e BUILDFLAGS -e DOCKER_CLIENTONLY -e DOCKER_EXECDRIVER -e DOCKER_EXPERIMENTAL \  -e DOCKER_GRAPHDRIVER -e DOCKER_STORAGE_OPTS -e DOCKER_USERLANDPROXY -e TESTDIRS -e TESTFLAGS -e TIMEOUT \
  -v /home/dockerbuild/bundles:/go/src/github.com/docker/docker/bundles docker-dev:1.8.2 bash
root@87193e358c88:/go/src/github.com/docker/docker# hack/make.sh binary---> Making bundle: binary (in bundles/1.8.2/binary)
Building: bundles/1.8.2/binary/docker-1.8.2
Created binary: bundles/1.8.2/binary/docker-1.8.24.查看编译输出并验证编译结果
root@87193e358c88:/go/src/github.com/docker/docker# ls -l bundles/1.8.2/binary/total 21104lrwxrwxrwx 1 root root   12 Sep 15 10:20 docker -> docker-1.8.2-rwxr-xr-x 1 root root 21599668 Sep 15 10:20 docker-1.8.2-rw-r--r-- 1 root root   47 Sep 15 10:20 docker-1.8.2.md5
-rw-r--r-- 1 root root   79 Sep 15 10:20 docker-1.8.2.sha256  上述可以看到在容器内,bundles目录已经有了编译好的docker程序文件了。退出容器后,在本机/home/dockerbuild/bundles/1.8.2/binary目录下会得到一个编译完毕的docker。 
[root@myserv dockerbuild]# cd bundles/[root@myserv bundles]# ls1.8.2  latest
[root@myserv bundles]# cd 1.8.2/[root@myserv 1.8.2]# lsbinary
[root@myserv binary]# ls -ltotal 21104lrwxrwxrwx 1 root root       12 Sep 15 18:20 docker -> docker-1.8.2-rwxr-xr-x 1 root root 21599668 Sep 15 18:20 docker-1.8.2-rw-r--r-- 1 root root       47 Sep 15 18:20 docker-1.8.2.md5
-rw-r--r-- 1 root root       79 Sep 15 18:20 docker-1.8.2.sha256
[root@myserv binary]# ./docker versionClient:
Version:      1.8.2
API version:  1.20
Go version:   go1.4.2
Git commit:   0a8c2e3
Built:        Tue Sep 15 10:20:40 UTC 2015
OS/Arch:      linux/amd64
Error response from daemon: client and server don't have same version (client API version: 1.20, server API version: 1.19)  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481918-1-1.html 上篇帖子: 使用DOCKER容器来源码编译ETCD 下篇帖子: docker compose (项目)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表