转载自:http://www.bubuko.com/infodetail-969451.html


阿里云的CentOS 6.6上安装Docker会无法启动,如果直接运行docker -d会看到错误提示:

WARN[0000] You are running linux kernel version 2.6.32-573.3.1.el6.x86_64, which might be unstable running docker. Please upgrade your kernel to 3.10.0.
INFO[0000] [graphdriver] using prior storage driver "devicemapper"
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
WARN[0000] Running modprobe bridge nf_nat failed with message: , error: exit status 1
FATA[0000] Error starting daemon: Error initializing network controller: Error creating default "bridge" network: can't find an address range for interface "docker0"


关于docker进程没起来的原因可能会有很多,比如

模块没加载,系统内核版本过低,硬盘空间不足等等

一开始我以为是系统内核版本过低导致,百度又google了半天,还安装了3.10的内核库,都没用

最后看到有人说,虽然报警建议升级内核到3.10,但意义就是docker宣称在3.10下是stable,低于3.10不是就不能运行了,只是unstable而已,docker的依赖内核需要高于2.6.32就可以

其实本处的重要信息是报错最后一句,原因就是docker自动尝试的建立bridge的ip段正好被阿里云的路由表完全占据了

详细原因可以参见这个帖子:http://hanjianwei.com/2014/07/30/docker-on-aliyun/


网上有好多类似的解决方法,不过好麻烦,这里主要说下最方便的解决方法

先su到root

找一下docker的配置文件: find / -name "docker"

一般会在 /etc/sysconfig/docker

编辑这个文件 vi /etc/sysconfig/docker

修改other_args=这一行为:other_args=-bip=192.168.100.1/24

保存退出


可以重启docker了

service docker restart

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐