Open DD-L opened 8 years ago
刚试了下,添加 boost::asio::ip::resolver_query_base::numeric_service
参数后还是不行,同样的错误。
服务发现
出了问题,那应该就是和 DNS 或 /etc/hosts 相关。
用 docker.io/busybox 做基础镜像的容器中的情况:
/opt/bin # ping bing.com
PING bing.com (204.79.197.200): 56 data bytes
64 bytes from 204.79.197.200: seq=0 ttl=114 time=55.593 ms
64 bytes from 204.79.197.200: seq=1 ttl=114 time=54.869 ms
^C
--- bing.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 54.869/55.231/55.593 ms
/opt/bin # cat /etc/hosts
172.17.0.12 c61e42d66d3b
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.12 lproxy
172.17.0.12 lproxy.bridge
/opt/lproxy/bin # cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.33.1
基于 deel/lproxy-dev 创建的容器中的情况:
/opt/lproxy# cat /etc/hosts
172.17.0.13 a23ee976e4c3
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.13 lproxy_dev
172.17.0.13 lproxy_dev.bridge
/opt/lproxy# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.33.1
我去,简直一毛一样
可能是 docker.io/busybox 中的 gethostbyname 出了问题。那就不用 docker.io/busybox 做基础镜像了,更换基础镜像,可解决此问题。(busybox体积很小,不足 2MB,真是舍不得啊)
lssserver.exe:
在 deel/lproxy-dev 里运行的好好的,到了基于 docker.io/busybox 制作的镜像的容器中,就会报上面的那个问题,导致 lproxy 服务不可用。
网搜查到几个可能有帮助的链接:
摘录下来就是
查了下文档:
http://www.boost.org/doc/libs/1_60_0/doc/html/boost_asio/reference/ip__resolver_query_base.html#boost_asio.reference.ip__resolver_query_base.data_members
记录下来,以便查阅