多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Docker容器启动后,默认会在主机上分配一个网卡,该网卡对应一个网络命名空间,并在这个网络命名空间下随机分配一个IP地址。 如果想修改Docker容器的IP地址,有以下几种方法: 1. 修改Docker宿主机的Docker网络 可以在Docker主机上修改`/etc/docker/daemon.json`文件,添加如下内容: ```bash { "bip": "192.168.1.5/24", } ``` 这会将Docker容器分配IP的子网修改为`192.168.1.0/24`,并且默认网关设置为`192.168.1.1`。 重启Docker后生效,此后创建的容器会在此子网分配IP。 2. 启动容器时指定IP 使用`--ip`参数可以指定容器的IP地址: ```bash docker run -it --ip 192.168.1.10 ubuntu:18.04 ``` 这会强制分配`192.168.1.10`这个IP给新启动的容器。 3. 启动容器后修改IP 可以在启动容器后,直接修改容器内的网络配置来变更IP地址。 首先,要定位到容器的网络命名空间。可以使用: ```bash docker inspect 容器id|name # 查看"NetworkSettings"下的"SandboxKey"值 ``` 然后使用`ip netns exec`命令进入该网络命名空间: ```bash sudo ip netns exec 沙盒KEY /bin/bash ``` 在该命名空间下修改网络配置即可。例如: ```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地址的几种常用方法。根据实际场景选择适用的方案即可。