longpan 发表于 2019-2-20 07:29:33

修改docker默认网桥

  这里介绍两种修改docker默认网桥的方法,这两种方法都是通过修改daemon.json文件实现的。
第一种
  1、删除旧网络
  $ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0
  2、修改/etc/docker/daemon.json文件
  vim /etc/docker/daemon.json
{
"bip": "192.168.0.1/24"
}
  3、重启Doker服务
  $ sudo service docker start
  4、检查
  $ ifconfig docker0
docker0: flags=4163mtu 1500
inet 192.168.0.1netmask 255.255.255.0broadcast 192.168.0.255
inet6 fe80::42:43ff:fe3d:4565prefixlen 64scopeid 0x20
ether 02:42:43:3d:45:65txqueuelen 0(Ethernet)
RX packets 0bytes 0 (0.0 B)
RX errors 0dropped 0overruns 0frame 0
TX packets 7bytes 586 (586.0 B)
TX errors 0dropped 0 overruns 0carrier 0collisions 0
  5、新建容器并查看ip
  docker run -it mysql /bin/bash
  然后按Ctrl+D推出容器 ,查看容器状态docker ps -a
https://s1.运维网.com/images/blog/201901/22/2d4ca52bb356c886e4dcf2e0bd70a4b9.png
  此时我们查看容器的ip是null,因为容器在退出状态是没有ip信息的。
我们查看一下
  docker inspect e5
https://s1.运维网.com/images/blog/201901/22/7aa59b0d43c51f29ab172beca880b126.png
  开启容器
  docker start e5
  再次查看
  docker inspect e5
https://s1.运维网.com/images/blog/201901/22/7ac7ed65b657632f2c6a9ad0563254c3.png
  第二种
1、删除旧网桥
  $ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0
  2、手动创建一个新的网桥名称为 bridge0
  $ sudo brctl addbr bridge0
$ sudo ip addr add 192.188.0.1/16 dev bridge0
$ sudo ip link set dev bridge0 up
  3、查看是否已经创建bridge0
  ifconfig beidge0
bridge0: flags=4163mtu 1500
inet 192.168.0.1netmask 255.255.255.0broadcast 0.0.0.0
inet6 fe80::9044:aeff:fed1:155fprefixlen 64scopeid 0x20
ether 7e:5f:08:47:cf:48txqueuelen 1000(Ethernet)
RX packets 0bytes 0 (0.0 B)
RX errors 0dropped 0overruns 0frame 0
TX packets 8bytes 656 (656.0 B)
TX errors 0dropped 0 overruns 0carrier 0collisions 0
  4、创建dameon.json
  vim /etc/docker/dameon.json
{
"bridge": "beidge0"
}
  5、重启docker
  service docker start
  新建容器并查看ip同第一种方法的步骤5一样!



页: [1]
查看完整版本: 修改docker默认网桥