【发布时间】:2018-08-26 02:56:36
【问题描述】:
最近,
我有一个容器加入了 swarm 覆盖网络,
有时,出于多种原因,我会更改静态 IP,
但不确定为什么来自docker network inspect 的 IPv4Address 会
仍然显示旧 IP 地址,但不显示新 IP,
例如:
步骤 1. 运行容器
docker run -itd -h kafka_1 --name kafka_1 kafka:latest
步骤 2. 分配网络接口以加入覆盖网络
docker network connect --ip 172.20.0.110 test-overlay-net kafka_1
步骤 3. 附加到 kafka 容器并更改 ip
ifconfig eth1 172.20.0.111 netmask 255.255.0.0 broadcast 172.20.255.255
步骤 4. 注销容器,并通过以下方式检查检查信息
docker network inspect test-overlay-net
步骤 5. 并意识到 IP 地址仍然是旧的,即使 ip 已经在容器中成功更改。
"Containers": {
"df1de7d9809f3e84857ef19db10f7c50d3d65153dcd47f3b22af6ed3a5ab1b41": {
"Name": "kafka_1",
"EndpointID": "37fe6b03b87435f897780826992a6e1f9b491444738c10de6c7c56aea3edb71d",
"MacAddress": "02:42:ac:14:00:6f",
"IPv4Address": "172.20.0.110/16",
"IPv6Address": ""
},
有人知道如何解决这个问题吗?
目前,我只是通过使用docker network disconnect -f test-overlay-net kafka_1 找到解决方法,然后通过docker network connect --ip 重新连接
非常感谢!
【问题讨论】:
标签: docker networking docker-swarm