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
广告
暂无评论内容