我使用 node.js 应用程序(取决于 apocas 的 dockerode API)创建 docker 容器,其中多个 docker 网络连接到每个容器。默认情况下,每个容器都会为每个网络接口获取一个随机 IP 地址。
示例: ip: 172.18.0.2的 dev-container并连接到接口eth4上的网络demo-net
当我这样做时,docker inspect dev-container
我可以看到网络demo-net已连接到ip 地址为172.18.0.2的容器dev-container(如预期的那样)。
现在我执行dev-container并docker exec -it dev-container /bin/bash
使用ifconfig eth4 192.168.99.169 netmask 255.255.240.0
.
结果:ifconfig
显示新地址192.168.99.169连接到接口 eth4。但是当我docker inspect dev-container
再次执行时,仍然有旧地址172.18.0.2与网络demo-net连接(不是预期的)。
有没有办法让 docker 更新内部网络设置,以便 docker inspect 显示更新的 ip 设置,或者有更好的方法来更改容器的 ip 地址?
(Docker 版本为 19.03.12)