参考地址: https://stackoverflow.com/questions/40214617/docker-no-route-to-host https://serverfault.com/questions/987686/no-network-connectivity-to-from-docker-ce-container-on-centos-8
问题:
通过docker-compose启动多个服务后,发现服务之间网络请求提示错误:no route to host
Nov 29 09:16:32 172.19.0.1 core[64592]: 2020-11-29T14:16:32Z [ERROR] [/common/utils/utils.go:106]: failed to connect to tcp://postgresql:5432, retry after 2 seconds :dial tcp 172.19.0.3:5432: connect: no route to hostNov 29 09:16:35 172.19.0.1 core[64592]: 2020-11-29T14:16:35Z [ERROR] [/common/utils/utils.go:106]: failed to connect to tcp://postgresql:5432, retry after 2 seconds :dial tcp 172.19.0.3:5432: connect: no route to host
解决:
查看Docker网络地址
[root@localhost ~]# nmcli......docker0: 已连接 到 docker0"docker0"bridge, 02:42:C7:FF:5D:E5, 软件, mtu 1500inet4 172.17.0.1/16route4 172.17.0.0/16inet6 fe80::42:c7ff:feff:5de5/64route6 fe80::/64route6 ff00::/8......
添加信任
firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=172.27.0.0/16 accept'
添加公共区域
# Allows container to container communication, the solution to the problemfirewall-cmd --zone=public --add-masquerade --permanent# reload the firewallfirewall-cmd --reload
可能的解决方案
nmcli connection modify docker0 connection.zone trustedsystemctl stop NetworkManager.servicefirewall-cmd --permanent --zone=trusted --change-interface=docker0systemctl start NetworkManager.servicenmcli connection modify docker0 connection.zone trustedsystemctl restart docker.service
错误发生环境
[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 8.2.2004 (Core)
[root@localhost ~]# docker versionClient: Docker Engine - CommunityVersion: 19.03.13API version: 1.40Go version: go1.13.15Git commit: 4484c46d9dBuilt: Wed Sep 16 17:02:36 2020OS/Arch: linux/amd64Experimental: falseServer: Docker Engine - CommunityEngine:Version: 19.03.13API version: 1.40 (minimum version 1.12)Go version: go1.13.15Git commit: 4484c46d9dBuilt: Wed Sep 16 17:01:11 2020OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.3.7GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175runc:Version: 1.0.0-rc10GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dddocker-init:Version: 0.18.0GitCommit: fec3683
[root@localhost ~]# docker-compose versiondocker-compose version 1.27.4, build 40524192docker-py version: 4.3.1CPython version: 3.7.7OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
