如何在 Centos 7 上更改 Docker IP 地址?
How to change Docker IP address on Centos 7?
我在Centos 7上安装了Docker。下面是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的IP地址172.17.0.1修改为192.168.149.5,即ens33的IP地址。我搜索了很多参考站点,但我做不到。如何在CentOS 7上设置docker0的ip地址?
这是我更改 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 文件,但它不起作用。
首先,docker配置文件的位置取决于docker版本。如果您使用了一些较新的 docker,其配置将在 /etc/docker/daemon.json 中。
将以下代码放入配置文件并重启 docker 守护进程,docker 网桥的 IP 将被更新。
{
"bip": "192.168.1.1/24"
}
希望有所帮助。
我在Centos 7上安装了Docker。下面是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的IP地址172.17.0.1修改为192.168.149.5,即ens33的IP地址。我搜索了很多参考站点,但我做不到。如何在CentOS 7上设置docker0的ip地址?
这是我更改 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 文件,但它不起作用。
首先,docker配置文件的位置取决于docker版本。如果您使用了一些较新的 docker,其配置将在 /etc/docker/daemon.json 中。 将以下代码放入配置文件并重启 docker 守护进程,docker 网桥的 IP 将被更新。
{
"bip": "192.168.1.1/24"
}
希望有所帮助。