手动编译安装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的支持
E-mail: huahuiyang@gmail.com
https://www.linkedin.com/in/huahuiyang/