Docker源码编译
官方建议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.2
4.查看编译输出并验证编译结果
root@87193e358c88:/go/src/github.com/docker/docker# ls -l bundles/1.8.2/binary/ total 21104 lrwxrwxrwx 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]# ls 1.8.2 latest [root@myserv bundles]# cd 1.8.2/ [root@myserv 1.8.2]# ls binary [root@myserv binary]# ls -l total 21104 lrwxrwxrwx 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 version Client: 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)
更多Docker相关教程见以下内容:
Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里
相关推荐
滴水穿石点石成金 2020-11-12
王道革 2020-11-25
bwyyziq 2020-11-22
pigsmall 2020-11-19
changecan 2020-11-19
helloWorldAndYou 2020-11-16
nginxs 2020-11-14
红石丶 2020-11-13
WanKaShing 2020-11-12
yangkang 2020-11-12
张荣珍 2020-11-12
wuxunanjing 2020-11-11
魅惑青花瓷 2020-11-11
lihongtai 2020-11-09
yangkang 2020-11-09
worldsnow 2020-11-06
MichaelJScofield 2020-11-06
TaoTaoFu 2020-11-06