目录前言1. 修改Docker宿主机的Docker网络2. 启动容器时指定IP3. 启动容器后修改IP总结
前言
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地址的几种常用方法。根据实际场景选择适用的方案即可。
总结
© 版权声明
THE END
暂无评论内容