欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Ubuntu Docker 源码编译(1.9.1 )详解

程序员文章站 2023-11-19 14:02:34
ubuntu docker 源码编译:            ...

ubuntu docker 源码编译:

             网上对ubuntu docker 源码编译的资料有很多,但是对于具体如何操作,和命令的实现不是多细致,经过我一番折腾,终于把源码编译搞定,这里记录下,以便以后使用参考,

一、系统环境

       ubuntu14.04 desktop 64位

二、安装docker(docker内编译docker)

$ sudo apt-get update 

$ sudo apt-get install wget 

$ wget -qo- https://get.docker.com/ | sh 

三、拉取docker开发环境容器

# docker pull docker-dev:1.9.1 

四、下载docker源码到本地机器

# apt-get install git 


# mkdir -p /home/docker/src 



# cd /home/docker/src 



# git clone https://github.com/docker/docker.git 



# cd docker 



# git checkout v1.9.1 

五、编译

       其实docker编译容器内自带了源码,这里第四步将源码下载到本地机器,主要是为了二次开发方便。

        可以将开发好的新代码替换容器内原有的代码,进行定制开发。

        1. 创建本地编译结果保存目录

# mkdir -p /home/docker/bundles  

        2. 启动容器,并映射本地代码到容器:

# 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/docker/bundles:/go/src/github.com/docker/docker/bundles \ 
  -v /home/docker/src:/tmp \ 
  docker-dev:1.9.1 \ 
  bash 

        3. 在容器中编译(此命令在容器中执行):

# cp -a /tmp/docker/* /go/src/github.com/docker/docker/ 

# hack/make.sh binary  

        4. 编译完成后,退出容器,检查本地结果路径,已经生成了编译好的docker可执行文件:

# ls -l /home/docker/bundles 

六、验证

# cd /home/docker/bundles/1.9.1/binary 

# ./docker version 

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!