/ etc / hosts中的docker.local主机名未在OSX上为docker计算机parsing(导致rspectesting失败)

我今天有一个错误,我的rspectesting运行良好,直到最后的期望,但是我仍然有一个“数据库连接超时错误”。

这是在本地运行rails,使用docker机器连接到docker内部的postgres实例。

Docker机器指令指导我在/etc/hosts文件中创build一个条目:

 192.168.99.100 docker.local 

这对于testing本身来说工作得很好,但是接下来的东西(可能是来自DatabaseCleaner的testing套件之后的一些清理步骤)仍然引发了关于超时连接到数据库的错误。

经过大量的调查,debugging,甚至删除和重新创builddocker机器的默认容器之后,我最终将其缩小到如果我用数据库configuration中的实际IP地址replacedocker.local – 它通过。

所以底线 – 一些清理过程没有访问/ etc / hosts定义的docker.local主机名。

这在OSX El Capitan上。