1

在 OSX 上,通过 boot2docker,我在 docker 容器中运行了一个 ruby​​ on rails 应用程序。

但是,它似乎无法访问第三方 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

4

1 回答 1

1

经过更多的挖掘,我在 Github 上发现了一个问题,通过 brew 安装 boot2docker 是问题所在。

我通过 brew 卸载,重新启动并直接从http://boot2docker.io/安装。这似乎解决了问题。

于 2015-04-19T10:12:09.137 回答