docker默認(rèn)網(wǎng)段為172.17.0.1

image.png
如果想要修改的話
# cat /etc/docker/daemon.json (docker19) #添加想要改成的網(wǎng)段
{ "bip": "172.18.0.1/16" }
# systemctl restart docker
容器固定IP
docker安裝后,默認(rèn)會(huì)創(chuàng)建三種網(wǎng)絡(luò)類型,bridge、host和none
顯示當(dāng)前網(wǎng)絡(luò):
[root@docker1 ~]# docker network list
NETWORK ID NAME DRIVER SCOPE
38e379b5cf9d bridge bridge local
1dabbdc876cf host host local
3d335ba74992 none null local
- bridge:網(wǎng)絡(luò)橋接
默認(rèn)情況下啟動(dòng)、創(chuàng)建容器都是用該模式,所以每次docker容器重啟時(shí)會(huì)按照順序獲取對(duì)應(yīng)ip地址,這就導(dǎo)致容器每次重啟,ip都發(fā)生變化 - none:無指定網(wǎng)絡(luò)
啟動(dòng)容器時(shí),可以通過–network=none,docker容器不會(huì)分配局域網(wǎng)ip - host:主機(jī)網(wǎng)絡(luò)
docker容器的網(wǎng)絡(luò)會(huì)附屬在主機(jī)上,兩者是互通的。
創(chuàng)建固定ip容器
1、創(chuàng)建自定義網(wǎng)絡(luò)類型,并且指定網(wǎng)段
[root@docker1 ~]# docker network create --subnet=192.168.0.0/16 staticnet
6bccf383534a4d5a20db27a7a27f853945e9ba5a7fa842d5a6d447da3d39211b
[root@docker1 ~]# docker network list
NETWORK ID NAME DRIVER SCOPE
38e379b5cf9d bridge bridge local
1dabbdc876cf host host local
3d335ba74992 none null local
6bccf383534a staticnet bridge local
2、使用新的網(wǎng)絡(luò)類型創(chuàng)建并啟動(dòng)容器
[root@docker1 ~]# docker run -it --name ice1 --net staticnet --ip 192.168.0.2 centos:7 /bin/bash
[root@docker1 ~]# docker inspect ice1 |grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "192.168.0.2",
3、關(guān)閉容器并重啟
容器ip并未發(fā)生改變
[root@docker1 ~]# docker stop ice1
ice1
[root@docker1 ~]# docker start ice1
ice1
[root@docker1 ~]# docker inspect ice1 |grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "192.168.0.2",