如何在centos 7上更改docker ip地址?

我在centos 7上安装了docker。Belows是ifconfig命令的输出

# ifconfig docker0: flags=4099 mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 0.0.0.0 ether 02:42:ea:cd:a1:19 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens33: flags=4163 mtu 1500 inet 192.168.149.5 netmask 255.255.255.0 broadcast 192.168.149.255 inet6 fe80::c494:6514:b641:e046 prefixlen 64 scopeid 0x20 ether 00:0c:29:57:00:09 txqueuelen 1000 (Ethernet) RX packets 42800 bytes 26241065 (25.0 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 31687 bytes 4228571 (4.0 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 302 bytes 29477 (28.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 302 bytes 29477 (28.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099 mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:ce:2f:27 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

我试图将docker0 172.17.0.1的ip地址改为192.168.149.5,这是ens33的ip地址。 我搜查了很多参考网站,但我无法做到。 请告诉我如何在CentOS 7上设置docker0的ip地址。非常感谢!

首先,dockerconfiguration文件的位置取决于docker版本。 如果你使用了一些较新的docker,它的configuration将在/etc/docker/daemon.json中。 将以下代码放入configuration文件中,重新启动docker守护程序,docker bridge的IP将被更新。

 { "bip": "192.168.1.1/24" } 

希望有帮助。

使用systemd控制和configurationDocker

守护程序configuration文件

这是我的过程改变docker集装箱的IP地址。

 1. systemctl stop docker 2. ip link set dev docker0 down 3. ip addr del 172.17.0.1/16 dev docker0 4. ip addr add 192.168.149.5/24 dev docker0 5. ip link set dev docker0 up 6. iptables -t nat -L -n iptables -t nat -F POSTROUTING 7. echo 'DOCKER_OPTS="--bip 192.168.149.5/24"' >> /etc/default/docker 

问题是没有这样的文件(/ etc / default / docker)。 而我生成docker文件,但它不起作用。