在OSX上,通过boot2docker,我在docker容器中运行了一个ruby on rails app。
但是,它似乎无法访问第三方API。
下面的代码在docker容器之外工作,但不在内部:
response = HTTParty.get('https://api.stackexchange.com/2.2/questions?site=stackoverflow')
从docker容器内部运行请求超时时使用:
SocketError: getaddrinfo: Name or service not known
此时我认为问题可能出在boot2docker设置上,就像这样:
boot2docker ssh
ping stackexchange.com
然后超时。
我使用的是OSX 10.10.3,boot2docker 1.50和docker-compose
答案 0 :(得分:1)
经过多次挖掘后,我在Github上发现了一个问题,通过brew安装boot2docker就是问题所在。
我通过brew卸载,重新启动并直接从http://boot2docker.io/安装。这似乎解决了这个问题。