手动编译安装docker环境,以及偶尔出现的bug

总结安装过程如下:

前提:安装git,go,make, docker(docker中编译docker)

git clone https://git@github.com/docker/docker
cd docker
git checkout -b v1.5.0   (这里选择你要编译的版本,看github上的tag)
sudo make build && sudo make binary

编译生成的文件在
./bundles/1.5.0/binary/docker-1.5.0

cp ./bundles/1.5.0/binary/docker-1.5.0 /usr/bin/docker

安装apparmor和cgroup-lite
sudo apt-get install -y apparmor
sudo apt-get install -y cgroup-lite

最后docker -d & 启动服务

 

压力测试,目前还没有发现测试多次不发生错误的版本:

for i in {0..100}; do docker run --rm busybox echo test; done

 

目前测试到的比较稳定的组合版本是,不过偶尔也是有bug(destroy container device or resource busy版本)

ubuntu12.04 kernel3.13 + aufs backend filesystem + docker1.5.0

 

请问各位读者:

各位在生产环境下,怎么安装docker可以规避如下bug:

bug: start container, no such container
bug: cannot destroy container,  driver aufs failed to remove root filesystem, device or resource busy

(ubuntu12.04系统或者退一步其他系统的解决方案也行)

 

参考

https://docs.docker.com/contributing/devenvironment/

https://github.com/docker/docker/issues/8791

http://yayua.github.io/docker/docker-source-code-part1-dev-setup/

https://github.com/docker/docker/issues/4036   列出了一个表,说明不同版本中backend filesystem的支持

posted @ 2015-03-10 15:59  yanghuahui  阅读(8331)  评论(5编辑  收藏  举报