1. 程式人生 > >Docker無法啟動 Could not find a free IP address range for interface 'docker0' 最方便的解決辦法

Docker無法啟動 Could not find a free IP address range for interface 'docker0' 最方便的解決辦法

轉載自: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段正好被阿里雲的路由表完全佔據了

網上有好多類似的解決方法,不過好麻煩,這裡主要說下最方便的解決方法

先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