Docker容器在boot2docker中不使用主机DNS
我正在Mac上运行boot2docker. boot2docker映像是一个使用virtualbox的vagrant box.我尝试过一些流浪盒(例如stigkj / boot2docker).所有人都表现出这个问题. 如果我ssh到boot2docker映像并查看/etc/resolv.conf它使用的是nameserver 10.0.2.3. 我使用以下命令启动一个简单的docker镜像:
查看该容器中的/etc/resolv.conf,它使用8.8.8.8和8.8.4.4作为名称服务器. 在boot2docker vm上的docker.log文件中,有以下行:
根据我的理解,docker应该使用主机的名称服务器.仅当主机使用127.0.0.1作为其名称服务器时,它才应默认为google名称服务器作为备份. 主机没有使用127.0.0.1作为名称服务器,但似乎docker认为它是.有关如何让它正确检测名称服务器的任何建议? 最佳答案
我发现了一个问题.
似乎boot2docker映像在从主机提取DNS之前运行docker守护程序.所以boot2docker认为DNS在启动时设置为127.0.0.1,然后机器将其更改为正确的名称服务器. 修复是在映像引导后重新启动docker守护程序.
看起来这是boot2docker中的已知问题,将在即将发布的版本中修复: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |