如何在创建 Docker 后更改其 IP 地址?

5
我有一个使用桥接连接的Docker,IP地址为192.168.150.1/24。 每当我从Docker镜像中创建Docker实例时,它都会获得一个IP地址,192.168.150.2,但根据我的要求,我需要保留此IP地址192.168.150.2以用于其他用途。
现在,我想将此Docker实例的IP地址更改为192.168.150.3。是否可以实现?如果可以,那应该怎样做呢?请帮忙。
3个回答

15

您需要先将容器与自定义网络分离,然后通过提供 IP 地址将其重新连接。

您可以按照以下步骤进行操作:

  1. docker network disconnect [OPTIONS] NETWORK CONTAINER
  2. docker network connect --ip 192.168.150.3 NETWORK CONTAINER

3
运行第二个命令后出现错误响应:守护进程指定的 IP 地址仅在连接到具有用户配置子网的网络时受支持。 - enjoy
我有一个包含MariaDB的容器和另一个包含Drupal的容器。Drupal的数据库配置使用了MariaDB容器的IP地址,但是有时候IP地址会发生变化,导致网站崩溃,因为找不到数据库。我按照你的步骤进行了操作,效果非常好,但是这个IP地址分配是否会保留在docker配置中呢?我的意思是,我会再次遇到我描述的IP问题吗?谢谢! - Eloy Ruiz

2
当您定义端口映射时,可以指定特定的IP地址,例如:
-p 192.168.150.3:6379:6379

0

这里还有另一个选项,尝试使用-b bridge选项来使用特定的IP范围,例如-b br0=192.168.150.3/24。这里有一个更完整的例子配置Docker桥接网络


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接