docker daemon没有网桥无法启动的问题

docker默认的网络模式是网桥。按理说docker会自动创建网桥docker0的。不过也有有碰到原生的docker不自动创建网桥,而是启动时报错。本文是docker服务启动不了的处理方法。

报错信息

could not find an available predefined network

手动设置网桥

这个报错是因为缺少网桥。默认网桥名字是docker0。只需要创建所需的网桥即可。
以下命令需要root权限。

查看网桥
brctl show
创建和启动网桥
brctl addbr docker0
# 启动网桥
ifconfig docker0 up
# 配置网络地址
ifconfig docker0 192.168.0.0

配置网桥后,重启dockerd就能启动了。

其它

如果想使用不同的网桥名字,比如bridge0,需要在bridge参数里指明。
新版的文件是 /etc/sysconfig/docker,将选项加到$OPTIONS参数里。

--bridge=bridge0

禁用docker网桥

大部分人使用docker都只是在一台机器上做测试,配置网桥容易造成网络问题。个人建议是使用host模式更好,把网桥禁用掉。
以下配置,可以让docker禁用掉网桥,配置的地方同上。

--bridge=none 
如何host模式启动容器
docker run -itd --net=host xxx

host模式的容器和宿主机共用网络,等于说关闭了网络NameSpace,相比bridge之类的模式,不会损失性能。单机情况下,使用hotst模式已经足够了,也更为灵活。

© 版权声明
THE END
广告
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容