curl 从集群节点上的 docker 到主节点
curl from docker on cluster node to master node
我有一个包含一个主节点和三个计算节点的集群。
节点 1 和 2 上的 docker 容器能够 "curl" 到主节点。
但是 node-3 失败并显示 "Connection refused"
- 从容器中执行 ping 操作
- 容器主机的 ping 和 curl 工作(即 node-3 到 master)
- 关闭 docker0 适用于节点 1 和 2。不适用于节点 3 (https://serverfault.com/questions/642981/docker-containers-cant-resolve-dns-on-ubuntu-14-04-desktop-host)
- 没有帮助:setsebool -P httpd_can_network_connect on
- firewalld 在其他节点上处于非活动状态,因此也尝试在节点 3 上将其关闭
我还能寻找什么?
更新
感谢@sxm1972,在列出 "docker network ls"
时发现了这个可能不需要的条目
f49b6c9541d2 docker_gwbridge 网桥本地
我该如何摆脱它?
使用以下方法删除了它:
docker 网络 rm f49b6c9541d2
sudo 服务 docker 重新启动
但这并没有解决卷曲问题
更新
然后看了/etc/hosts
node3 包含意外行:
192.168.1.1 079543e73dc7
其他节点的 IP 为 172.17。0.x
192.168.1.1指master节点的IP
更新
节点 1 和节点 2 主机上的 ifconfig 显示 172.17。0.x docker0 接口
node3 上的 ifconfig 显示 192。168.x.x:这似乎已损坏。
我可能无意中对 node3 IP 做了什么。我怎样才能恢复它?
更新
尝试过
ip link del docker0
sudo service docker restart
host docker0 IP好像还是错了
解决方案
谢谢@sxm1972!以下工作:
sudo service docker stop
create/edit daemon.json from the link below setting bip to 172.17.0.1/16
ip link del docker0
sudo service docker restart
我现在可以从容器中"curl"
PS C:\Users\smallya> docker network ls
NETWORK ID NAME DRIVER SCOPE
857787541f21 bridge bridge local
f3de5219b77d host host local
72ab4639a2dd none null local
PS C:\Users\smallya> docker network inspect 857787541f21
[
{
"Name": "bridge",
"Id": "857787541f210cb0912b3be240922810f007b149f200ae9fff5bdc111af14f14",
"Created": "2018-02-09T14:31:17.0933179Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
我有一个包含一个主节点和三个计算节点的集群。 节点 1 和 2 上的 docker 容器能够 "curl" 到主节点。 但是 node-3 失败并显示 "Connection refused"
- 从容器中执行 ping 操作
- 容器主机的 ping 和 curl 工作(即 node-3 到 master)
- 关闭 docker0 适用于节点 1 和 2。不适用于节点 3 (https://serverfault.com/questions/642981/docker-containers-cant-resolve-dns-on-ubuntu-14-04-desktop-host)
- 没有帮助:setsebool -P httpd_can_network_connect on
- firewalld 在其他节点上处于非活动状态,因此也尝试在节点 3 上将其关闭
我还能寻找什么?
更新
感谢@sxm1972,在列出 "docker network ls"
时发现了这个可能不需要的条目f49b6c9541d2 docker_gwbridge 网桥本地
我该如何摆脱它?
使用以下方法删除了它: docker 网络 rm f49b6c9541d2 sudo 服务 docker 重新启动
但这并没有解决卷曲问题
更新
然后看了/etc/hosts node3 包含意外行:
192.168.1.1 079543e73dc7
其他节点的 IP 为 172.17。0.x
192.168.1.1指master节点的IP
更新
节点 1 和节点 2 主机上的 ifconfig 显示 172.17。0.x docker0 接口
node3 上的 ifconfig 显示 192。168.x.x:这似乎已损坏。
我可能无意中对 node3 IP 做了什么。我怎样才能恢复它?
更新
尝试过
ip link del docker0
sudo service docker restart
host docker0 IP好像还是错了
解决方案
谢谢@sxm1972!以下工作:
sudo service docker stop
create/edit daemon.json from the link below setting bip to 172.17.0.1/16
ip link del docker0
sudo service docker restart
我现在可以从容器中"curl"
PS C:\Users\smallya> docker network ls
NETWORK ID NAME DRIVER SCOPE
857787541f21 bridge bridge local
f3de5219b77d host host local
72ab4639a2dd none null local
PS C:\Users\smallya> docker network inspect 857787541f21
[
{
"Name": "bridge",
"Id": "857787541f210cb0912b3be240922810f007b149f200ae9fff5bdc111af14f14",
"Created": "2018-02-09T14:31:17.0933179Z",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]