前言

Docker容器启动后,默认会在主机上分配一个网卡,该网卡对应一个网络命名空间,并在这个网络命名空间下随机分配一个IP地址。

如果想修改Docker容器的IP地址,有以下几种方法:

1. 修改Docker宿主机的Docker网络

可以在Docker主机上修改/etc/docker/daemon.json文件,添加如下内容:

{
"bip": "192.168.1.5/24",
}

这会将Docker容器分配IP的子网修改为192.168.1.0/24,并且默认网关设置为192.168.1.1

重启Docker后生效,此后创建的容器会在此子网分配IP。

2. 启动容器时指定IP

使用--ip参数可以指定容器的IP地址:

docker run -it --ip 192.168.1.10 ubuntu:18.04

这会强制分配192.168.1.10这个IP给新启动的容器。

3. 启动容器后修改IP

可以在启动容器后,直接修改容器内的网络配置来变更IP地址。

首先,要定位到容器的网络命名空间。可以使用:

docker inspect 容器id|name # 查看"NetworkSettings"下的"SandboxKey"值 

然后使用ip netns exec命令进入该网络命名空间:

sudo ip netns exec 沙盒KEY /bin/bash

在该命名空间下修改网络配置即可。例如:

ip addr add 192.168.1.15/24 dev eth0
ip link set eth0 up 

这会将eth0网卡的IP设置为192.168.1.15

退出后容器的IP就已经修改。

需要注意,如果容器已经把旧IP写入到其它容器或者宿主机的配置(例如/etc/resolv.conf)中,那么还需要相应修改那些地方的配置,否则可能出现网络异常的情况。

以上是修改Docker容器IP地址的几种常用方法。根据实际场景选择适用的方案即可。

总结

到此这篇关于docker网卡的IP地址修改方法的文章就介绍到这了,更多相关docker网卡IP地址修改内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

发表回复