修改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=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::42:43ff:fe3d:4565 prefixlen 64 scopeid 0x20<link>
ether 02:42:43:3d:45:65 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7 bytes 586 (586.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

5、新建容器並查看ip

docker run -it mysql /bin/bash

然後按Ctrl+D推出容器 ,查看容器狀態docker ps -a
修改docker默認網橋

此時我們查看容器的ip是null,因爲容器在退出狀態是沒有ip信息的。
我們查看一下

docker inspect e5

修改docker默認網橋

開啓容器

docker start e5

再次查看

docker inspect e5

修改docker默認網橋

第二種
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=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::9044:aeff:fed1:155f prefixlen 64 scopeid 0x20<link>
ether 7e:5f:08:47:cf:48 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 656 (656.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

4、創建dameon.json

vim /etc/docker/dameon.json
{
"bridge": "beidge0"
}

5、重啓docker

service docker start

新建容器並查看ip同第一種方法的步驟5一樣!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章